blob: e4c153d77ecd4ff6cc38ba70b3915e4db96451db [file] [log] [blame]
# name: test/sql/function/string/test_left.test
# description: LEFT test
# group: [string]
# test LEFT on positive positions
query TTTTT
SELECT LEFT('abcd', 0), LEFT('abc', 1), LEFT('abc', 2), LEFT('abc', 3), LEFT('abc', 4)
----
(empty) a ab abc abc
# test LEFT on negative positions
query TTTTT
SELECT LEFT('abcd', 0), LEFT('abc', -1), LEFT('abc', -2), LEFT('abc', -3), LEFT('abc', -4)
----
(empty) (empty) (empty) (empty) (empty)
# test LEFT on NULL values
query TTT
SELECT LEFT(NULL, 0), LEFT('abc', NULL), LEFT(NULL, NULL)
----
NULL NULL NULL
query TTT
SELECT LEFT(NULL, 0), LEFT('🦆ab', NULL), LEFT(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 LEFT(a, b) FROM strings ORDER BY b
----
(empty)
a
ab
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 LEFT(a, b) FROM strings
----
(empty)
(empty)
(empty)
(empty)
(empty)
statement ok
DROP TABLE IF EXISTS strings
statement ok
CREATE TABLE strings(a VARCHAR, b INTEGER)
statement ok
INSERT INTO STRINGS VALUES (NULL, 0), ('abc', NULL), (NULL, NULL)
query T
SELECT LEFT(a, b) FROM strings
----
NULL
NULL
NULL