sql業務分割

2022-05-02 20:06:11 字數 763 閱讀 8429

create function strtotable(@str varchar(1000))

returns @tablename table

( str2table varchar(50)

) as

–該函式用於把乙個用逗號分隔的多個資料字串變成乙個表的一列,例如字串』1,2,3,4,5』 將程式設計乙個表,這個表

begin

set @str = @str+』,』

declare @insertstr varchar(50) –擷取後的第乙個字串

declare @newstr varchar(1000) –擷取第乙個字串後剩餘的字串

set @insertstr = left(@str,charindex(『,』,@str)-1)

set @newstr = stuff(@str,1,charindex(『,』,@str),」)

insert @tablename values(@insertstr)

while(len(@newstr)>0)

begin

set @insertstr = left(@newstr,charindex(『,』,@newstr)-1)

insert @tablename values(@insertstr)

set @newstr = stuff(@newstr,1,charindex(『,』,@newstr),」)

end

return

end

sql 分割字元

sql對字串的處理能力比較弱,比如我要迴圈遍歷象1,2,3,4,5這樣的字串,如果用陣列的話,遍歷很簡單,但是t sql不支援陣列,所以處理下來比較麻煩。下邊的函式,實現了象陣列一樣去處理字串。一,用臨時表作為陣列 create function f split c varchar 2000 spl...

簡單業務sql記錄

需求是這樣的,統計一家醫院的返院人數 其中會涉及到三張表 病人表,計畫表,任務表。乙個病人看完病之後可能會制定乙個或者多個計畫,乙個計畫也有可能有多個任務,其中任務表中有乙個is back欄位,等於1 即為返院,等於0 即為未返院。查詢該月返院人數,其實很簡單,基礎資料就是已制定計畫人數,但是要注意...

SQL分割字串

t sql對字串的處理能力比較弱,比如我要迴圈遍歷象1,2,3,4,5這樣的字串,如果用陣列的話,遍歷很簡單,但是t sql不支援陣列,所以處理下來比較麻煩。下邊的函式,實現了象陣列一樣去處理字串。一,用臨時表作為陣列 create function f split c varchar 2000 s...