Oracle SQL-Substr 不删除足够的字符

标签: sql Oracle
发布时间: 2017/4/15 18:50:19
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我面临一个奇怪的问题。我有这样的代码。

insert into my_table
    substr(my_name,1,199)

给出的错误是︰

值对于列来说太大......(实际︰ 246,最大︰ 200)

看看这些大的名字在我的桌子,我有喜欢的东西:"8"x 12 & #34"

是有可能一些字符设置的东西正在发生,所以,当它插入,数目的字符增加吗?如果是这样,我怎么英镑的吗?我试过 substringing 之前, 显式地转换为 UTF8,但这并不在所有帮助。

解决方法 1:

我会建议尝试︰

insert into my_table(col)
    select cast(substr(my_name,1,199) as varchar(200))

(我总是包括显式列名中插入)。

到 varchar 的显式转换可能解决问题的思考字符串过长的引擎。

赞助商