我有一个varchar值表,当我通过克隆整个表来复制此表时,在每个varchar值周围都有引号。
例如,2017年12月8日变为“ 2017年12月8日”,财务变为“财务”。
奇怪的是,为什么会这样。 B有什么办法解决这个问题吗?
答案 0 :(得分:0)
所以我试图想到一个可能发生这种情况的senario,我发现了这一点:
CREATE OR REPLACE TABLE demo_db.public.employees
(emp_id number,
first_name varchar,
last_name varchar
);
-- Populate the table with some seed records.
Insert into demo_db.public.employees
values(100,'"John"','"Smith"')
(200,'Sam','White'),
(300,'Bob','Jones'),
(400,'Linda','Carter');
SELECT * FROM demo_db.public.employees;
CREATE OR REPLACE TABLE demo_db.public.employees_clone
CLONE employees;
摘自演示:https://community.snowflake.com/s/article/cloning-in-snowflake
您可能会注意到,为了使INSERT语句接受数据,我必须使用''。我对下面的克隆表执行了相同的INSERT操作,并收到错误消息。
INSERT INTO demo_db.public.employees_clone VALUES(500,“”'Mike'“”,'Jones');
但这可行:
INSERT INTO demo_db.public.employees_clone VALUES(500,'“ Mike”','Jones');
desc表demo_db.public.employees_clone;
所以类型仍然是varchar,它在字符串中只带有'“'引号。
尝试DESC看看发生了什么。我会猜测原始表在字符串中加载了“”,或者从您正在阅读的位置将其置于引号中。无论哪种方式,请共享原始数据,或者在支持下共享其样本。如果您在社区门户中,请参阅:https://support.snowflake.net/s/article/How-to-Get-Access-to-the-Case-Console-in-the-Lodge-Community