关于字符串截取
13671653088 发布于2021-07-08 浏览:369 回复:1
0
收藏
快速回复

doris 版本:0.14.12.4

select length('123'),length('<>!@#'),length('测试'),length(''),length('️'),length(''),length(''),length('✨'),length('☽')

各种表情的字节长度都有区别。而通过left,strleft截取时,会有各种不一致的情况

select length(''),left('',2),left('',4),strleft('',2),strleft('',4),left('测试',2),left('测试',1)

目前有个varchar(1000)的字段,ETL需要截断,存档到一个varchar(500)的字段中

除了使用left( 列, 500/4) 这样的方式来截取,还有什么更好的方案吗?

另外,strleft和left目前是不是没有区别?

 

 

收藏
点赞
0
个赞
共1条回复 最后由IamStrangers回复于2021-07-12
#2IamStrangers回复于2021-07-12

emoji 表情好像是 utf8mb4 编码的,最大4字节,而doris只支持 utf8 编码,最大3字节。

所以你用doris存emoji的话,可能无法通过这些字符串函数来准确截取。。

0
快速回复
TOP
切换版块