Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

recs.call_number,


-- get LC class

CASE

WHEN recs.call_number ILIKE '%film%'

...

THEN ' - '

WHEN recs.call_number ILIKE '%thesis%' THEN SUBSTRING (recs.call_number, '\s[A-Za-z]{1,3}')

ELSE SUBSTRING (recs.call_number,'[A-Za-z]{1,3}') END AS lc_class,


-- get LC class number

CASE WHEN recs.call_number ILIKE '%film%' THEN NULL

...

(TRIM (trailing '.' FROM

CASE

WHEN SUBSTRING (recs.call_number,1,1) in ('1','2') THEN NULL

WHEN SUBSTRING (recs.call_number,2,1) = ' ' THEN NULL

ELSE SUBSTRING (recs.call_number,'\d{1,4}\.{0,}\d{0,}')

END))

END AS lc_class_number,

...

TRIM (CASE WHEN SUBSTRING (recs.call_number,1,1) IN ('1','2')

THEN SUBSTRING (recs.call_number,1,4)

ELSE SUBSTRING (recs.call_number, '\s\d{4}\s{0,1}')

END) AS internal_year,


-- get first cutter

CASE WHEN recs.library_name NOT LIKE 'Law%'

THEN SUBSTRING (recs.call_number, '\d\s{0,1}([A-Z]\d{1,})')

ELSE SUBSTRING (recs.call_number, '(\.[A-Z]\d{1,}[a-z]{0,1})')

END AS first_cutter,


-- get second cutter

...

-- then order by first cutter, then second cutter, then the whole call number in case the cutters re blank

first_cutter,

second_cutter,

...