diff options
Diffstat (limited to 'src/test/regress/expected/strings.out')
-rw-r--r-- | src/test/regress/expected/strings.out | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/src/test/regress/expected/strings.out b/src/test/regress/expected/strings.out index ebfe8eeb66..680a76c0bd 100644 --- a/src/test/regress/expected/strings.out +++ b/src/test/regress/expected/strings.out @@ -3,6 +3,7 @@ -- Test various data entry syntaxes. -- -- SQL92 string continuation syntax +-- E021-03 character string literals SELECT 'first line' ' - next line' ' - third line' @@ -20,6 +21,7 @@ SELECT 'first line' ERROR: parser: parse error at or near "' - third line'" -- -- test conversions between various string types +-- E021-10 implicit casting among the character data types -- SELECT CAST(f1 AS text) AS "text(char)" FROM CHAR_TBL; text(char) @@ -93,7 +95,9 @@ SELECT CAST(name 'namefield' AS varchar) AS "varchar(name)"; -- -- test SQL92 string functions +-- E### and T### are feature reference numbers from SQL99 -- +-- E021-09 trim function SELECT TRIM(BOTH FROM ' bunch o blanks ') = 'bunch o blanks' AS "bunch o blanks"; bunch o blanks ---------------- @@ -118,6 +122,7 @@ SELECT TRIM(BOTH 'x' FROM 'xxxxxsome Xsxxxxx') = 'some Xs' AS "some Xs"; t (1 row) +-- E021-06 substring expression SELECT SUBSTRING('1234567890' FROM 3) = '34567890' AS "34567890"; 34567890 ---------- @@ -130,6 +135,47 @@ SELECT SUBSTRING('1234567890' FROM 4 FOR 3) = '456' AS "456"; t (1 row) +-- T581 regular expression substring +SELECT SUBSTRING('abcdefg' FROM '(b|f).*(d)' FOR '#') AS "bcd"; + bcd +----- + bcd +(1 row) + +-- No match should return NULL +SELECT SUBSTRING('abcdefg' FROM '(1|2|3)' FOR '#') IS NULL AS "True"; + True +------ + t +(1 row) + +-- Null inputs should return NULL +SELECT SUBSTRING('abcdefg' FROM '(b|c)' FOR NULL) IS NULL AS "True"; + True +------ + t +(1 row) + +SELECT SUBSTRING(NULL FROM '(b|c)' FOR '#') IS NULL AS "True"; + True +------ + t +(1 row) + +SELECT SUBSTRING('abcdefg' FROM NULL FOR '#') IS NULL AS "True"; + True +------ + t +(1 row) + +-- PostgreSQL extention to allow omitting the escape character +SELECT SUBSTRING('abcdefg' FROM '(c|d).e') AS "cde"; + cde +----- + cde +(1 row) + +-- E021-11 position expression SELECT POSITION('4' IN '1234567890') = '4' AS "4"; 4 --- @@ -142,11 +188,37 @@ SELECT POSITION(5 IN '1234567890') = '5' AS "5"; t (1 row) +-- T312 character overlay function +SELECT OVERLAY('abcdef' PLACING '45' FROM 4) AS "abc45f"; + abc45f +-------- + abc45f +(1 row) + +SELECT OVERLAY('yabadoo' PLACING 'daba' FROM 5) AS "yabadaba"; + yabadaba +---------- + yabadaba +(1 row) + +SELECT OVERLAY('yabadoo' PLACING 'daba' FROM 5 FOR 0) AS "yabadabadoo"; + yabadabadoo +------------- + yabadabadoo +(1 row) + +SELECT OVERLAY('babosa' PLACING 'ubb' FROM 2 FOR 4) AS "bubba"; + bubba +------- + bubba +(1 row) + -- -- test LIKE -- Be sure to form every test as a LIKE/NOT LIKE pair. -- -- simplest examples +-- E061-04 like predicate SELECT 'hawkeye' LIKE 'h%' AS "true"; true ------ @@ -257,6 +329,7 @@ SELECT 'indio' NOT LIKE 'ind_o' ESCAPE '$' AS "false"; (1 row) -- escape character +-- E061-05 like predicate with escape clause SELECT 'h%' LIKE 'h#%' ESCAPE '#' AS "true"; true ------ @@ -469,6 +542,7 @@ SELECT 'Hawkeye' NOT ILIKE 'h%' AS "false"; -- -- test implicit type conversion -- +-- E021-07 character concatenation SELECT 'unknown' || ' and unknown' AS "Concat unknown types"; Concat unknown types ---------------------- |