交談中請勿輕信匯款、中獎資訊,勿輕易撥打陌生**。
河北*無憂(917601252) 11:42:42
請教在sql 2000中實現
有表tb, 如下:
id values
----------- -----------
1 aa,bb
2 aaa,bbb,ccc
3 ddab,abc,a
4 a
欲按,分拆values列, 分拆後結果如下:
id value
----------- --------
1 aa
1 bb
2 aaa
2 bbb
2 ccc
3 ddab
3 abc
3 a
4 a
哪位高手幫幫忙啊
長春銀狐(隱身)(4775457) 11:44:14
那天不是解決了嗎。
上海-飛飛(329753774) 11:44:33
銀狐好強的
長春銀狐(隱身)(4775457) 11:44:59
select b.id,name=substring(b.[name], a.number, charindex(',', b.[name] + ',', a.number) - a.number)
from master..spt_values a,tb b
where type='p'
and substring(',' + b.[name], a.number,1) = ','
長春銀狐(隱身)(4775457) 11:45:30
呵呵,我也是菜鳥。。。
上海-飛飛(329753774) 11:45:39
比我強
河北*無憂(917601252) 11:46:06
真是謝謝。
好我試試。
長春銀狐(隱身)(4775457) 11:46:16
河北*無憂
把我給你的語句改一下。就可以了。
河北*無憂(917601252) 11:46:51
能解釋下嗎?我不太明白。
長春銀狐(隱身)(4775457) 11:47:29
就是用substring來按逗號分隔來取相應的字串。
長春銀狐(隱身)(4775457) 11:48:07
內聯的那個儲存過程是用來按段來算的。
長春銀狐(隱身)(4775457) 11:48:13
我說的有點亂。。
河北*無憂(917601252) 11:48:29
charindex(',', b.[name] + ',', a.number) - a.number)
為什麼要減a.number
河北*無憂(917601252) 11:49:20
沒事,給我說就好了,我真的不明白。
長春銀狐(隱身)(4775457) 11:49:31
charindex(',','aaa,bbb,ccc,',a.number)
長春銀狐(隱身)(4775457) 11:49:39
拿這句做例子。
河北*無憂(917601252) 11:49:57
還有where 後面的句子,就更是不懂了。
河北*無憂(917601252) 11:50:13
好的。您說。
北京-望月神(64701333) 11:50:30
你搞懂幾個函式就行了
北京-望月神(64701333) 11:50:45
乙個是charindex,乙個是substring
河北*無憂(917601252) 11:51:07
我明白 ,但是組在一起我就不明白了。
長春銀狐(隱身)(4775457) 11:52:02
從a.number的位置查詢逗號,然後用substring來取值。
長春銀狐(隱身)(4775457) 11:52:40
where條件就是看串裡是否還有逗號
北京-望月神(64701333) 11:52:59
substring(b.[name], a.number, charindex(',', b.[name] + ',', a.number) - a.number)
這句就是用charindex取長度,然後根據這個長度擷取字串作為name的值
長春銀狐(隱身)(4775457) 11:53:20
嗯。解釋的很清楚。比我說的明白。。
長春銀狐(隱身)(4775457) 11:55:32
declare @str as varchar(30),@n as int
set @str='aaa,b,ccc,dd'
set @n=1
while(@n<20)
begin
print substring(@str,@n,charindex(',',@str+',',@n)-@n
end
長春銀狐(隱身)(4775457) 11:55:51
用段執行一下就看出效果了。
長春銀狐(隱身)(4775457) 11:56:39
剛才有問題。用這句:
declare @str as varchar(30),@n as int
set @str='aaa,b,ccc,dd'
set @n=1
while(@n<20)
begin
print substring(@str,@n,charindex(',',@str+',',@n)-@n)
set @n=@n+1
end
長春銀狐(隱身)(4775457) 11:57:46
declare @str as varchar(30),@n as int
set @str='aaa,b,ccc,dd'
set @n=1
while(@n<20)
begin
print substring(@str,@n,charindex(',',@str+',',@n)-@n+1)
set @n=@n+1
end這句更明確一些。
長春銀狐(隱身)(4775457) 11:57:57
aaa,
aa,a,,b,
,ccc,
cc,c,,dd
d這個是結果。
長春銀狐(隱身)(4775457) 11:58:11
還有人在聽嗎?沒人就不說了。。。
河北*無憂(917601252) 11:58:18
在。河北*無憂(917601252) 11:58:34
我都跟不上你們的速度。
長春銀狐(隱身)(4775457) 11:58:49
哦?說快了?
河北*無憂(917601252) 11:58:52
太厲害了。
長春銀狐(隱身)(4775457) 11:59:10
望月神厲害。。。
河北*無憂(917601252) 11:59:33
我還沒消化呢。再想想。
長
資料庫 難題集
系統斷電屬於系統故障 1 分 系統重新啟動後的恢復步驟是 1 正向掃瞄日誌檔案,找出在故障發生前已經提交的事務佇列 redo 佇列 和未完成的事務佇列 undo佇列 2 對撤銷佇列中的各個事務進行 undo 處理。進行 undo 處理的方法是,反向 掃瞄日誌檔案,對每個 undo 事務的更新操作執行...
共迎海量資料庫管理挑戰 中韓資料庫專家對話北京
2011年3月26日,海量資料庫管理 企業面臨的挑戰暨中韓資料庫技術交流會 在中國人民大學舉行。本次會議由中國人民大學資訊學院主辦 北京人大金倉資訊科技股份 簡稱人大金倉 承辦。中國資料庫著名專家 中國人民大學資訊學院教授王珊,南韓著名資料庫專家李華植先生,中國人民大學資訊學院院長 中國人民大學資訊...
共迎海量資料庫管理挑戰 中韓資料庫專家對話北京
2011 年3月26日,海量資料庫管理 企業面臨的挑戰暨中韓資料庫技術交流會 在中國人民大學舉行。本次會議由中國人民大學資訊學院主辦 北京人大金倉資訊科技股份 簡稱人大金倉 承辦。中國資料庫著名專家 中國人民大學資訊學院 教授王珊,南韓著名資料庫專家李華植先生,中國人民大學資訊學院院長 中國人民大學...