231 lines
2.7 KiB
SQL
231 lines
2.7 KiB
SQL
# name: test/sql/cast/test_boolean_cast.test
|
|
# description: Test boolean casts
|
|
# group: [cast]
|
|
|
|
statement ok
|
|
PRAGMA enable_verification
|
|
|
|
query T
|
|
SELECT CAST(1=1 AS VARCHAR)
|
|
----
|
|
true
|
|
|
|
query T
|
|
SELECT CAST(1=0 AS VARCHAR)
|
|
----
|
|
false
|
|
|
|
|
|
query T
|
|
SELECT CAST(12345 AS BOOLEAN)
|
|
----
|
|
true
|
|
|
|
query T
|
|
SELECT CAST('true' AS BOOLEAN)
|
|
----
|
|
1
|
|
|
|
query T
|
|
SELECT CAST('t' AS BOOLEAN)
|
|
----
|
|
1
|
|
|
|
query T
|
|
SELECT CAST('TRUE' AS BOOLEAN)
|
|
----
|
|
1
|
|
|
|
query T
|
|
SELECT CAST('yes' AS BOOLEAN)
|
|
----
|
|
1
|
|
|
|
query T
|
|
SELECT CAST('YeS' AS BOOLEAN)
|
|
----
|
|
1
|
|
|
|
query T
|
|
SELECT CAST('y' AS BOOLEAN)
|
|
----
|
|
1
|
|
|
|
query T
|
|
SELECT CAST('false' AS BOOLEAN)
|
|
----
|
|
0
|
|
|
|
query T
|
|
SELECT CAST('f' AS BOOLEAN)
|
|
----
|
|
0
|
|
|
|
query T
|
|
SELECT CAST('FALSE' AS BOOLEAN)
|
|
----
|
|
0
|
|
|
|
query T
|
|
SELECT CAST('no' AS BOOLEAN)
|
|
----
|
|
0
|
|
|
|
query T
|
|
SELECT CAST('nO' AS BOOLEAN)
|
|
----
|
|
0
|
|
|
|
query T
|
|
SELECT CAST('n' AS BOOLEAN)
|
|
----
|
|
0
|
|
|
|
statement error
|
|
SELECT CAST('12345' AS BOOLEAN)
|
|
----
|
|
|
|
statement ok
|
|
CREATE TABLE tbl AS SELECT 0 AS yes
|
|
|
|
query T
|
|
SELECT CAST(yes AS BOOLEAN) FROM tbl
|
|
----
|
|
0
|
|
|
|
statement error
|
|
SELECT CAST(yes AS BOOLEAN)
|
|
----
|
|
Binder Error: Referenced column "yes" not found in FROM clause!
|
|
|
|
query T
|
|
SELECT CAST(CAST('12345' AS INTEGER) AS BOOLEAN)
|
|
----
|
|
1
|
|
|
|
query T
|
|
SELECT CAST(CAST('0' AS INTEGER) AS BOOLEAN)
|
|
----
|
|
0
|
|
|
|
query T
|
|
SELECT CAST(CAST('1' AS tinyint) AS BOOLEAN)
|
|
----
|
|
1
|
|
|
|
query T
|
|
SELECT CAST(CAST('0' AS tinyint) AS BOOLEAN)
|
|
----
|
|
0
|
|
|
|
query T
|
|
SELECT CAST(CAST('1' AS smallint) AS BOOLEAN)
|
|
----
|
|
1
|
|
|
|
query T
|
|
SELECT CAST(CAST('0' AS smallint) AS BOOLEAN)
|
|
----
|
|
0
|
|
|
|
query T
|
|
SELECT CAST(CAST('1' AS integer) AS BOOLEAN)
|
|
----
|
|
1
|
|
|
|
query T
|
|
SELECT CAST(CAST('0' AS integer) AS BOOLEAN)
|
|
----
|
|
0
|
|
|
|
query T
|
|
SELECT CAST(CAST('1' AS bigint) AS BOOLEAN)
|
|
----
|
|
1
|
|
|
|
query T
|
|
SELECT CAST(CAST('0' AS bigint) AS BOOLEAN)
|
|
----
|
|
0
|
|
|
|
query T
|
|
SELECT CAST(CAST('1' AS decimal) AS BOOLEAN)
|
|
----
|
|
1
|
|
|
|
query T
|
|
SELECT CAST(CAST('0' AS decimal) AS BOOLEAN)
|
|
----
|
|
0
|
|
|
|
query T
|
|
SELECT CAST(CAST('1' AS decimal(1,0)) AS BOOLEAN)
|
|
----
|
|
1
|
|
|
|
query T
|
|
SELECT CAST(CAST('0' AS decimal(1,0)) AS BOOLEAN)
|
|
----
|
|
0
|
|
|
|
query T
|
|
SELECT CAST(CAST('1' AS decimal(9,0)) AS BOOLEAN)
|
|
----
|
|
1
|
|
|
|
query T
|
|
SELECT CAST(CAST('0' AS decimal(9,0)) AS BOOLEAN)
|
|
----
|
|
0
|
|
|
|
query T
|
|
SELECT CAST(CAST('1' AS decimal(38,0)) AS BOOLEAN)
|
|
----
|
|
1
|
|
|
|
query T
|
|
SELECT CAST(CAST('0' AS decimal(38,0)) AS BOOLEAN)
|
|
----
|
|
0
|
|
|
|
query T
|
|
SELECT CAST(CAST('1' AS float) AS BOOLEAN)
|
|
----
|
|
1
|
|
|
|
query T
|
|
SELECT CAST(CAST('0' AS float) AS BOOLEAN)
|
|
----
|
|
0
|
|
|
|
query T
|
|
SELECT CAST(CAST('1' AS double) AS BOOLEAN)
|
|
----
|
|
1
|
|
|
|
query T
|
|
SELECT CAST(CAST('0' AS double) AS BOOLEAN)
|
|
----
|
|
0
|
|
|
|
query T
|
|
SELECT CAST(CAST('1' AS HUGEINT) AS BOOLEAN)
|
|
----
|
|
1
|
|
|
|
query T
|
|
SELECT CAST(CAST('0' AS HUGEINT) AS BOOLEAN)
|
|
----
|
|
0
|
|
|
|
query T
|
|
SELECT CAST(CAST('1' AS UHUGEINT) AS BOOLEAN)
|
|
----
|
|
1
|
|
|
|
query T
|
|
SELECT CAST(CAST('0' AS UHUGEINT) AS BOOLEAN)
|
|
----
|
|
0
|
|
|