| # name: test/sql/function/string/test_right.test |
| # description: RIGHT test |
| # group: [string] |
| |
| # test RIGHT on positive positions |
| query TTTTT |
| SELECT RIGHT('abcd', 0), RIGHT('abc', 1), RIGHT('abc', 2), RIGHT('abc', 3), RIGHT('abc', 4) |
| ---- |
| (empty) c bc abc abc |
| |
| # test RIGHT on negative positions |
| query TTTTT |
| SELECT RIGHT('abcd', 0), RIGHT('abc', -1), RIGHT('abc', -2), RIGHT('abc', -3), RIGHT('abc', -4) |
| ---- |
| (empty) (empty) (empty) (empty) (empty) |
| |
| # test RIGHT on NULL values |
| query TTT |
| SELECT RIGHT(NULL, 0), RIGHT('abc', NULL), RIGHT(NULL, NULL) |
| ---- |
| NULL NULL NULL |
| |
| query TTT |
| SELECT RIGHT(NULL, 0), RIGHT('🦆ab', NULL), RIGHT(NULL, NULL) |
| ---- |
| NULL NULL NULL |
| |
| # test on tables |
| statement ok |
| DROP TABLE IF EXISTS strings |
| |
| statement ok |
| CREATE TABLE strings(a VARCHAR, b INTEGER) |
| |
| statement ok |
| INSERT INTO STRINGS VALUES ('abcd', 0), ('abc', 1), ('abc', 2), ('abc', 3), ('abc', 4) |
| |
| query T |
| SELECT RIGHT(a, b) FROM strings ORDER BY b |
| ---- |
| (empty) |
| c |
| bc |
| abc |
| abc |
| |
| statement ok |
| DROP TABLE IF EXISTS strings |
| |
| statement ok |
| CREATE TABLE strings(a VARCHAR, b INTEGER) |
| |
| statement ok |
| INSERT INTO STRINGS VALUES ('abcd', 0), ('abc', -1), ('abc', -2), ('abc', -3), ('abc', -4) |
| |
| query T |
| SELECT RIGHT(a, b) FROM strings |
| ---- |
| (empty) |
| (empty) |
| (empty) |
| (empty) |
| (empty) |