SQL基礎(三)-- SQL根據”,“分割字符串



Declare @Sysno Nvarchar(500);
Set @Sysno='4,11064,100';
Declare @table_ReviewID Table
(
[Sysno] INT NOT NULL
)
While(CHARINDEX(',',@Sysno)<>0)
Begin
Insert Into @table_ReviewID(Sysno) Values(CONVERT(Int,Substring(@Sysno,1,CHARINDEX(',',@Sysno)-1)));
Set @Sysno=STUFF(@Sysno,1,CHARINDEX(',',@Sysno),'');
End

Insert Into @table_ReviewID (Sysno) Values(CONVERT(Int,@Sysno));
Select * From @table_ReviewID

備注:

STUFF用法:刪除指定長度的字符,並在指定的起點處插入另一組字符
語法

STUFF ( character_expression , start , length ,character_expression )
character_expression :操作的字符串
start :起始位置
length :長度
,character_expression :刪除的起始位置插入第二個字符串,從而創建並返回一個字符串
例如:SELECT STUFF('abcdef', 2, 3, 'ijklmn') 輸出:aijklmnef

CHARINDEX用法: 通過CHARINDEX如果能夠找到對應的字符串,則返回該字符串位置,否則返回0。

CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )

expressionToFind :目標字符串,就是想要找到的字符串,最大長度為8000 。
expressionToSearch :用於被查找的字符串。
start_location:開始查找的位置,為空時默認從第一位開始查找。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM