File: test_caseconvert.test

package info (click to toggle)
duckdb 1.5.1-2
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 299,196 kB
  • sloc: cpp: 865,414; ansic: 57,292; python: 18,871; sql: 12,663; lisp: 11,751; yacc: 7,412; lex: 1,682; sh: 747; makefile: 558
file content (76 lines) | stat: -rw-r--r-- 1,988 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# name: test/sql/function/string/test_caseconvert.test
# description: UPPER/LOWER test
# group: [string]

statement ok
PRAGMA enable_verification

# 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 TTTT
select UPPER(''), UPPER('hello'), UPPER('MotörHead'), UPPER(NULL)
----
(empty)	HELLO	MOTÖRHEAD	NULL

query TTTT
select LOWER(''), LOWER('hello'), LOWER('MotörHead'), LOWER(NULL)
----
(empty)	hello	motörhead	NULL

# test ucase/lcase on scalar values
query TTTT
select UCASE(''), UCASE('hello'), UCASE('MotörHead'), UCASE(NULL)
----
(empty)	HELLO	MOTÖRHEAD	NULL

query TTTT
select LCASE(''), LCASE('hello'), LCASE('MotörHead'), LCASE(NULL)
----
(empty)	hello	motörhead	NULL

# test on entire tables
statement ok
CREATE TABLE strings(a STRING, b STRING)

statement ok
INSERT INTO strings VALUES ('Hello', 'World'), ('HuLlD', NULL), ('MotörHead','RÄcks')

query TT
select UPPER(a), UCASE(a)  FROM strings
----
HELLO	HELLO
HULLD	HULLD
MOTÖRHEAD	MOTÖRHEAD

query TT
select LOWER(a), LCASE(a) FROM strings
----
hello	hello
hulld	hulld
motörhead	motörhead

query TT
select LOWER(b), LCASE(b) FROM strings
----
world	world
NULL	NULL
räcks	räcks

# test with selection vector
query TTTT
select UPPER(a), LOWER(a), UCASE(a), LCASE(a) FROM strings WHERE b IS NOT NULL
----
HELLO	hello	HELLO	hello
MOTÖRHEAD	motörhead	MOTÖRHEAD	motörhead