1.SELECT
substring(dbo.f_GetStr(FNAME,1,','),charindex(':',dbo.f_GetStr(FNAME,1,','))+1,len(dbo.f_GetStr(FNAME,1,','))-charindex(':',dbo.f_GetStr(FNAME,1,','))+1) 姓名,
substring(dbo.f_GetStr(FNAME,2,','),charindex(':',dbo.f_GetStr(FNAME,2,','))+1,len(dbo.f_GetStr(FNAME,2,','))-charindex(':',dbo.f_GetStr(FNAME,2,','))+1) 性別,
substring(dbo.f_GetStr(FNAME,3,','),charindex(':',dbo.f_GetStr(FNAME,3,','))+1,len(dbo.f_GetStr(FNAME,3,','))-charindex(':',dbo.f_GetStr(FNAME,3,','))+1) 別號,
substring(dbo.f_GetStr(FNAME,4,','),charindex(':',dbo.f_GetStr(FNAME,4,','))+1,len(dbo.f_GetStr(FNAME,4,','))-charindex(':',dbo.f_GetStr(FNAME,4,','))+1) 稱號,
substring(dbo.f_GetStr(FNAME,5,','),charindex(':',dbo.f_GetStr(FNAME,5,','))+1,len(dbo.f_GetStr(FNAME,5,','))-charindex(':',dbo.f_GetStr(FNAME,5,','))+1) 英文名
FROM A_OOTEST
顯示出來是這樣的

2.SELECT
CASE WHEN FA LIKE '%姓名%' THEN substring(FA,charindex(':',FA)+1,100)
WHEN FB LIKE '%姓名%' THEN substring(FB,charindex(':',FB)+1,100)
WHEN FC LIKE '%姓名%' THEN substring(FC,charindex(':',FC)+1,100)
WHEN FD LIKE '%姓名%' THEN substring(FD,charindex(':',FD)+1,100)
WHEN FE LIKE '%姓名%' THEN substring(FE,charindex(':',FE)+1,100) END AS '姓名',
CASE WHEN FA LIKE '%性別%' THEN substring(FA,charindex(':',FA)+1,100)
WHEN FB LIKE '%性別%' THEN substring(FB,charindex(':',FB)+1,100)
WHEN FC LIKE '%性別%' THEN substring(FC,charindex(':',FC)+1,100)
WHEN FD LIKE '%性別%' THEN substring(FD,charindex(':',FD)+1,100)
WHEN FE LIKE '%性別%' THEN substring(FE,charindex(':',FE)+1,100) END AS '性別',
CASE WHEN FA LIKE '%別號%' THEN substring(FA,charindex(':',FA)+1,100)
WHEN FB LIKE '%別號%' THEN substring(FB,charindex(':',FB)+1,100)
WHEN FC LIKE '%別號%' THEN substring(FC,charindex(':',FC)+1,100)
WHEN FD LIKE '%別號%' THEN substring(FD,charindex(':',FD)+1,100)
WHEN FE LIKE '%別號%' THEN substring(FE,charindex(':',FE)+1,100) END AS '別號',
CASE WHEN FA LIKE '%稱號%' THEN substring(FA,charindex(':',FA)+1,100)
WHEN FB LIKE '%稱號%' THEN substring(FB,charindex(':',FB)+1,100)
WHEN FC LIKE '%稱號%' THEN substring(FC,charindex(':',FC)+1,100)
WHEN FD LIKE '%稱號%' THEN substring(FD,charindex(':',FD)+1,100)
WHEN FE LIKE '%稱號%' THEN substring(FE,charindex(':',FE)+1,100) END AS '稱號',
CASE WHEN FA LIKE '%英文名%' THEN substring(FA,charindex(':',FA)+1,100)
WHEN FB LIKE '%英文名%' THEN substring(FB,charindex(':',FB)+1,100)
WHEN FC LIKE '%英文名%' THEN substring(FC,charindex(':',FC)+1,100)
WHEN FD LIKE '%英文名%' THEN substring(FD,charindex(':',FD)+1,100)
WHEN FE LIKE '%英文名%' THEN substring(FE,charindex(':',FE)+1,100) END AS '英文名'
FROM (SELECT
dbo.f_GetStr(FNAME,1,',') FA,
dbo.f_GetStr(FNAME,2,',') FB,
dbo.f_GetStr(FNAME,3,',') FC,
dbo.f_GetStr(FNAME,4,',') FD,
dbo.f_GetStr(FNAME,5,',') FE
FROM A_OOTEST ) T

還有沒有其他方法能這樣顯示出來
uj5u.com熱心網友回復:
這種操作很耗費性能,建議每次插入資料的時候,直接把資料決議出來,之后的操作就都簡單了。uj5u.com熱心網友回復:
具體怎么做 大神可以指教一下嘛uj5u.com熱心網友回復:
驚呆了,為啥要這么寫,這樣寫的SQL能跑!!轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/9801.html
標籤:應用實例
上一篇:SQL注釋
下一篇:SQL 怎么修改這個資料
