blob: 21840e36759eff9c8838bb78fee0d64a9b350125 [file] [log] [blame]
# name: test/sql/function/string/test_caseconvert.test
# description: UPPER/LOWER test
# group: [string]
# test NULL constant
query TT
select UPPER(NULL), LOWER(NULL)
----
NULL
NULL
# unicode
query TTTT
select UPPER('áaaá'), UPPER('ö'), LOWER('S̈'), UPPER('ω')
----
ÁAAÁ Ö s̈ Ω
# greek
query TT
SELECT UPPER('Αα Ββ Γγ Δδ Εε Ζζ Ηη Θθ Ιι Κκ Λλ Μμ Νν Ξξ Οο Ππ Ρρ Σσς Ττ Υυ Φφ Χχ Ψψ Ωω'), LOWER('Αα Ββ Γγ Δδ Εε Ζζ Ηη Θθ Ιι Κκ Λλ Μμ Νν Ξξ Οο Ππ Ρρ Σσς Ττ Υυ Φφ Χχ Ψψ Ωω')
----
ΑΑ ΒΒ ΓΓ ΔΔ ΕΕ ΖΖ ΗΗ ΘΘ ΙΙ ΚΚ ΛΛ ΜΜ ΝΝ ΞΞ ΟΟ ΠΠ ΡΡ ΣΣΣ ΤΤ ΥΥ ΦΦ ΧΧ ΨΨ ΩΩ αα ββ γγ δδ εε ζζ ηη θθ ιι κκ λλ μμ νν ξξ οο ππ ρρ σσς ττ υυ φφ χχ ψψ ωω
# test upper/lower on scalar values
query TTT
select UPPER(''), UPPER('hello'), UPPER('MotörHead')
----
(empty) HELLO MOTÖRHEAD
query TTT
select LOWER(''), LOWER('hello'), LOWER('MotörHead')
----
(empty) hello motörhead
# test on entire tables
statement ok
CREATE TABLE strings(a VARCHAR, b VARCHAR)
statement ok
INSERT INTO strings VALUES ('Hello', 'World'), ('HuLlD', NULL), ('MotörHead','RÄcks')
query T
select UPPER(a) FROM strings ORDER BY a
----
HELLO
HULLD
MOTÖRHEAD
query T
select LOWER(a) FROM strings ORDER BY a
----
hello
hulld
motörhead
query T
select LOWER(b) FROM strings ORDER BY b NULLS LAST
----
räcks
world
NULL
# test with selection vector
query TT
select UPPER(a), LOWER(a) FROM strings WHERE b IS NOT NULL ORDER BY a
----
HELLO hello
MOTÖRHEAD motörhead