Files
email-tracker/external/duckdb/test/sql/cast/test_boolean_cast.test
2025-10-24 19:21:19 -05:00

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