Sql 查找从字符串部分到某个字符的长度

Sql 查找从字符串部分到某个字符的长度,sql,db2,Sql,Db2,DB2SQL=>如何从字符串部分获取长度?例如,此列的数据为 MARYqORANGE JENNYqBLUE, DAVEqYELLOW, JONATHANqGREEN AMANDAqBLACK 如何在q之前获取这些数据的长度 使用定位功能: select locate('q', col) 如果您希望在“q”之前使用初始零件,则使用: select (case when col like '%q%' then left(col, locate('q', col) - 1) else col e

DB2SQL=>如何从字符串部分获取长度?例如,此列的数据为

MARYqORANGE
JENNYqBLUE,
DAVEqYELLOW,
JONATHANqGREEN 
AMANDAqBLACK

如何在
q
之前获取这些数据的长度

使用
定位功能:

select locate('q', col)
如果您希望在“q”之前使用初始零件,则使用:

select (case when col like '%q%' then left(col, locate('q', col) - 1) else col end)

... 这是一个多值/分隔列。这真的是非常不赞成(因为需要这样做,以及其他事情)-你知道这一点,对吗?