我的CLEAR栏包含

||premiere|24,3,1999||type|movie||


mysql请求后

UPDATE post SET premiere = SUBSTRING_INDEX( SUBSTRING_INDEX( clear,'premiere|',-1 ),'||',1 )*1


PREMIERE成为24
不明白为什么不1999年3月24日?

最佳答案

如果您运行:

select SUBSTRING_INDEX(SUBSTRING_INDEX(clear, 'premiere|', -1 ), '||', 1 )
from (select '||premiere|24,3,1999||type|movie||' as clear) x


您将看到返回值是您期望的值(请参见here)。

问题是*1。通过使用前导数字,它将值转换为数字。因此,您只能得到24。

关于mysql - Mysql中的Substring_index分隔符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52367231/

10-10 18:03