# 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