Snowflake 无法识别 ADD 列中的数据类型
Snowflake not recognizing data type in ADD column
对 SQL 有点陌生。从另一个数据库中的副本创建了一个新的 table,我正在尝试添加列并更新它们,以便我可以将三个 table 合并为一个。
出于某种原因,当我尝试添加列时,snowflake 无法识别我的数据类型。
代码类似于:
ALTER TABLE CUSTOMERS
ADD COLUMNS
FIRSTNAME varchar(99999),
LASTNAME varchar(99999),
DATE timestamp_ntz(00:00:00.000);
但我不断收到错误提示 'varchar'。我不确定我在这里遗漏了什么,但我需要数据类型与我的其他 table 相匹配,以便我可以更新它。
正确的语法应该使用 COLUMN
或完全跳过它,timestamp_ntz(00:00:00.000);
也是不正确的,因为参数应该是表示精度的整数:
CREATE OR REPLACE TABLE CUSTOMERS(i INT);
ALTER TABLE CUSTOMERS
ADD
FIRSTNAME varchar(99999),
LASTNAME varchar(99999),
DATE timestamp_ntz(3);
ALTER TABLE CUSTOMERS
ADD COLUMN -- instead of COLUMNS
FIRSTNAME varchar(99999),
LASTNAME varchar(99999),
DATE timestamp_ntz(3);
SELECT * FROM CUSTOMERS;
输出:
对 SQL 有点陌生。从另一个数据库中的副本创建了一个新的 table,我正在尝试添加列并更新它们,以便我可以将三个 table 合并为一个。
出于某种原因,当我尝试添加列时,snowflake 无法识别我的数据类型。
代码类似于:
ALTER TABLE CUSTOMERS
ADD COLUMNS
FIRSTNAME varchar(99999),
LASTNAME varchar(99999),
DATE timestamp_ntz(00:00:00.000);
但我不断收到错误提示 'varchar'。我不确定我在这里遗漏了什么,但我需要数据类型与我的其他 table 相匹配,以便我可以更新它。
正确的语法应该使用 COLUMN
或完全跳过它,timestamp_ntz(00:00:00.000);
也是不正确的,因为参数应该是表示精度的整数:
CREATE OR REPLACE TABLE CUSTOMERS(i INT);
ALTER TABLE CUSTOMERS
ADD
FIRSTNAME varchar(99999),
LASTNAME varchar(99999),
DATE timestamp_ntz(3);
ALTER TABLE CUSTOMERS
ADD COLUMN -- instead of COLUMNS
FIRSTNAME varchar(99999),
LASTNAME varchar(99999),
DATE timestamp_ntz(3);
SELECT * FROM CUSTOMERS;
输出: