不同的列我怎樣才能在列這一特定字符串分割爲三個不同的列字符串分割到與SQL
樣本:
Column_A
----------
{"nationalCode":"1234567893","username":"123","ip":"::1"}
{"nationalCode":"1234567892","username":"test","ip":"172.30.10.11"}
{"nationalCode":"1234567890"}
{"nationalCode":"1234567891","username":"test"}
應該
nationalcode|username|Ip
---------------------------
1234567893 |123 |::1
1234567892 |test |172.30.10.11
1234567890 |null |null
1234567891 |test |null
我迄今爲止只有一個領域嘗試過(我不知道如何解決它)
select SUBSTRING(REPLACE(SUBSTRING(ActionInput,CHARINDEX('nationalCode',ActionInput)+len('nationalCode":"'),CHARINDEX(',',ActionInput)),'""',''),0,11) as national1,
REPLACE(SUBSTRING(ActionInput,CHARINDEX('username',ActionInput)+len('username":"'),CHARINDEX(',',ActionInput)),'"}','') as a
from LogTBL
的SQL Server版本? – McNets
@McNets sql-server-2008 –
它總是這三個值的最大值,它們總是按照完全相同的順序來進行嗎?理想情況下,你絕對不應該存儲這樣的數據。這比xml更糟,違反了1NF。 –