ClickHouse/tests/queries/0_stateless/00757_enum_defaults.sql

42 lines
2.3 KiB
SQL

select os_name, count() from (SELECT CAST('iphone' AS Enum8('iphone' = 1, 'android' = 2)) AS os_name) group by os_name WITH TOTALS;
select toNullable(os_name) AS os_name, count() from (SELECT CAST('iphone' AS Enum8('iphone' = 1, 'android' = 2)) AS os_name) group by os_name WITH TOTALS;
DROP TABLE IF EXISTS auto_assign_enum;
DROP TABLE IF EXISTS auto_assign_enum1;
DROP TABLE IF EXISTS auto_assign_enum2;
DROP TABLE IF EXISTS auto_assign_enum3;
CREATE TABLE auto_assign_enum (x enum('a', 'b')) ENGINE=MergeTree() order by x;
INSERT INTO auto_assign_enum VALUES('a'), ('b');
select * from auto_assign_enum;
select CAST(x, 'Int8') from auto_assign_enum;
select * from auto_assign_enum where x = 1;
CREATE TABLE auto_assign_enum1 (x enum('a' = -1000, 'b')) ENGINE=MergeTree() order by x;
INSERT INTO auto_assign_enum1 VALUES('a'), ('b');
select * from auto_assign_enum1;
select CAST(x, 'Int16') from auto_assign_enum1;
select * from auto_assign_enum1 where x = -999;
CREATE TABLE auto_assign_enum2 (x enum('a' = -1000, 'b', 'c' = -99)) ENGINE=MergeTree() order by x; -- { serverError 223 }
CREATE TABLE auto_assign_enum2 (x Enum8(
'00' = -128 ,'01','02','03','04','05','06','07','08','09','0A','0B','0C','0D','0E','0F',
'10','11','12','13','14','15','16','17','18','19','1A','1B','1C','1D','1E','1F',
'20','21','22','23','24','25','26','27','28','29','2A','2B','2C','2D','2E','2F',
'30','31','32','33','34','35','36','37','38','39','3A','3B','3C','3D','3E','3F',
'40','41','42','43','44','45','46','47','48','49','4A','4B','4C','4D','4E','4F',
'50','51','52','53','54','55','56','57','58','59','5A','5B','5C','5D','5E','5F',
'60','61','62','63','64','65','66','67','68','69','6A','6B','6C','6D','6E','6F',
'70','71','72','73','74','75','76','77','78','79','7A','7B','7C','7D','7E','7F'
)) ENGINE=MergeTree() order by x;
INSERT INTO auto_assign_enum2 VALUES('7F');
select CAST(x, 'Int8') from auto_assign_enum2;
CREATE TABLE auto_assign_enum3 (x enum('a', 'b', NULL)) ENGINE=MergeTree() order by x; -- { serverError 223 }
DROP TABLE auto_assign_enum;
DROP TABLE auto_assign_enum1;
DROP TABLE auto_assign_enum2;