MS sql 建立錶值函式

2021-04-28 16:58:29 字數 942 閱讀 8372

這是乙個建立表的例子,我覺得非常經典,所以拿出來與大家分享

create function [dbo].[splittotable]

(@rowdata nvarchar(2000),

@spliton nvarchar(5)

)  returns @rtnvalue table

(id int identity(1,1),

data nvarchar(100)

) as 

begin

declare @cnt int

set @cnt = 1

while (charindex(@spliton,@rowdata)>0)

begin

insert into @rtnvalue (data)

select

data = ltrim(rtrim(substring(@rowdata,1,charindex(@spliton,@rowdata)-1)))

set @rowdata = substring(@rowdata,charindex(@spliton,@rowdata)+1,len(@rowdata))

set @cnt = @cnt + 1

endinsert into @rtnvalue (data)

select data = ltrim(rtrim(@rowdata))

return

end這個function可以將乙個用特殊附後分隔的字串轉化成乙個table.

比如這個字串「test1,test2」,

在資料庫中執行select * from dbo.splittotable('test1,test2',',')之後,結果如下:

id      data

1        test1

2        test2

今天上傳出問題,我就直接寫了。

mysql 創表 mssql 建立mssql表

sql server 不能修改表結構 列型別 解決方法 在sql server中使用表結構設計的時候 提示是 不允許儲存更改。您所做的更改要求刪除並重新建立以下表。您對無法重新建立的標進行了更改或者啟用了 阻止儲存要求重新建立表的更改 選項。解決方案 啟動mssql server 2008,選擇選單...

MS SQL動態建立臨時表

開發業務需求,需要對乙個表作資料分析,由於資料量較大,而且分析時字段會隨條件相應變化而變化。因此計畫先把資料轉插入乙個臨時表,再對臨時表的資料進行分析。問題點是如何動態建立臨時表。原先insus.net使用下面 實現 1declare snvarchar max 2if object id dbo ...

MSSql建立資料庫 表

1 建立資料庫 use master 開啟master資料庫,一般的建立語句都在master中執行 goif exists select from sysdatabases where name students drop database students gocreate database st...