From my understanding these three statements should be equivalent CATX('', COL1, COL2, COL3)
TRIM(COL1) || TRIM(COL2) || TRIM(COL3)
PRXCHANGE('s/\s+//', -1, COL1) || PRXCHANGE('s/\s+//', -1, COL2) || PRXCHANGE('s/\s+//', -1, COL3) COL1, COL2, and COL3 are characters. I check for whitespace with: PRXCHANGE('s/\s/X/', -1, CONCATENATED_COLUMN) 1 and 3 produce equivalent columns but 2 does not. All three produce trailing whitespace. I would like to check this column for characters like: CASE WHEN PRXMATCH('/^0+$/', CONCATENATED_COLUMN) THEN 1 ELSE 0 END AS FOO But can't because of the whitespace that still appears. Must I always account for whitespace whenever I do any operation like this? Something like this: CASE WHEN PRXMATCH('/^0+(?:\s*)$/', CONCATENATED_COLUMN) THEN 1 ELSE 0 END AS FOO Or: JOIN ON PRXCHANGE('s/\s+//', -1, TABLE_A.ID) = PRXCHANGE('s/\s+//', -1, TABLE_B.ID) Because I can never be sure CATX or TRIM did their job?
... View more