0
我在一個數據庫表中有一些奇怪的字符串有點問題。 我需要將這樣的字符串示例拆分爲INT數組,或者將其拆分爲INT循環或某物。在沒有自己的函數的MySQL中進行SQL拆分
這必須在 '平時' 的MySQL來完成(無功能,聲明等等 - 只有SELECT語句+內置函數一樣REPLACE()
,SUBSTRING()
)
524;779;
559;;
;559;
411;760;;
+等;
這樣的意圖是否可以執行?
我在一個數據庫表中有一些奇怪的字符串有點問題。 我需要將這樣的字符串示例拆分爲INT數組,或者將其拆分爲INT循環或某物。在沒有自己的函數的MySQL中進行SQL拆分
這必須在 '平時' 的MySQL來完成(無功能,聲明等等 - 只有SELECT語句+內置函數一樣REPLACE()
,SUBSTRING()
)
524;779;
559;;
;559;
411;760;;
+等;
這樣的意圖是否可以執行?
如果這是一次運行一次操作,將您的數據轉換爲理智的格式,您可以從this answer中獲得想法,並將其擴展到一個字符串中的最大ids數。
SQL Fiddle上的示例。
SELECT DISTINCT id, val
FROM (
SELECT id, substring_index(substring_index(`val`,';',-1),';',1) AS val FROM tab
UNION ALL
SELECT id, substring_index(substring_index(`val`,';',-2),';',1) FROM tab
UNION ALL
SELECT id, substring_index(substring_index(`val`,';',-3),';',1) FROM tab
UNION ALL
SELECT id, substring_index(substring_index(`val`,';',-4),';',1) FROM tab
UNION ALL
SELECT id, substring_index(substring_index(`val`,';',-5),';',1) FROM tab
) x
WHERE val <> ''
ORDER BY id
你的表格結構是什麼?你需要的結果是什麼?\ – Alex
我需要通過sptlitting從字段'some_field'中檢索每個INT VARCHAR(50),其中包含這些示例 - 在每個 – Rafcik
Plz指定了您想要的結果之後用';拼接INTS。 –