查询:
CREATE TABLE SRC(SRC_STRING VARCHAR(20)) CREATE OR REPLACE TABLE TGT(tgt_STRING VARCHAR(10))
插入到SRC值(‘JKNHJYGHTFGRTYGHJ’)
插入到TGT(TGT_STRING)从源选择SRC_STRING::VARCHAR(10)
错误:字符串'JKNHJYGHTFGRTYGHJ‘太长,将被截断
有没有办法在将数据从高精度列插入到低精度列时启用强制长度(而不是复制命令)?
发布于 2020-08-10 21:18:03
我推荐使用SUBSTR( )函数来选择您想要的数据,示例如下,我取前10个字符(如果可用,如果只有5个字符,它将使用这5个字符)。
CREATE OR REPLACE TEMPORARY TABLE SRC(
src_string VARCHAR(20));
CREATE OR REPLACE TEMPORARY TABLE TGT(
tgt_STRING VARCHAR(10));
INSERT INTO src
VALUES('JKNHJYGHTFGRTYGHJ');
INSERT INTO tgt(tgt_string)
SELECT SUBSTR(src_string, 1, 10)
FROM SRC;
SELECT * FROM tgt; --JKNHJYGHTF下面是关于该函数的文档:
https://docs.snowflake.com/en/sql-reference/functions/substr.html
我希望这个helps...Rich
附注:如果此(或其他)答案对您有帮助,请花点时间通过单击答案旁边的复选标记将其从“灰色显示”切换到“已填充”,从而“接受”该答案。
https://stackoverflow.com/questions/63336614
复制相似问题