色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql按照逗號拆分字符串

謝彥文2年前10瀏覽0評論

在MySQL中,我們經(jīng)常會遇到需要按照逗號拆分字符串的情況,例如我們有一個包含多個標簽的字符串,需要將這些標簽單獨取出來并進行操作。

下面我們來介紹一種簡單的方法,使用MySQL內(nèi)置函數(shù)SUBSTRING_INDEX和FIND_IN_SET來實現(xiàn)字符串按照逗號拆分。

SELECT SUBSTRING_INDEX(tag, ',', 1) as tag1,
SUBSTRING_INDEX(SUBSTRING_INDEX(tag, ',', 2), ',', -1) as tag2,
SUBSTRING_INDEX(SUBSTRING_INDEX(tag, ',', 3), ',', -1) as tag3
FROM tags;

上面的代碼中,我們使用了SUBSTRING_INDEX函數(shù)將字符串按照逗號分成多個部分,然后再用FIND_IN_SET函數(shù)在每個部分中查找tag。

假設(shè)我們的tags表中有如下數(shù)據(jù):

tag
"tag1,tag2,tag3"
"tag4,tag5,tag6"

那么上面的查詢將會返回如下結(jié)果:

tag1	tag2	tag3
tag4	tag5	tag6

如果我們需要對每個標簽單獨進行操作,可以結(jié)合使用UNION和JOIN來實現(xiàn)。

SELECT tags.tag, operations.operation
FROM tags
JOIN (
SELECT 'tag1' as operation
UNION SELECT 'tag2'
UNION SELECT 'tag3'
) as operations
ON FIND_IN_SET(operations.operation, tags.tag) >0;

上面的代碼中,我們先將需要操作的標簽列表用UNION連接起來并進行重命名,然后在查詢時將它們JOIN到tags表中,并使用FIND_IN_SET函數(shù)來過濾符合條件的數(shù)據(jù)。

經(jīng)過上述操作,我們就可以方便地進行字符串按照逗號拆分,并對其中的每個部分進行操作。