sql中将分隔字符串转为临时表的方法
問題: 要求將 一字符串 0,1,2,3,4,5 ;將,分隔后的每一內容轉為一行記錄到數據庫表中
declare? @table_串轉數組 table( adapt_object int default 0)
declare @tmp_str?? varchar(100)
declare @tmp_index int
select? @tmp_index = 1
select? @tmp_str = '0,1,12,03,4,5,a,,,'?? --賦測試值
while (@tmp_index > 0)
begin
?? select @tmp_index = CHARINDEX(',', @tmp_str)? --,為分隔符
?? if (@tmp_index > 0)??
?? if (ISNUMERIC(substring(@tmp_str, 1, @tmp_index - 1)) = 1) --只把是分隔轉換后是數字類型的放入到臨時表中
?? insert into @table_串轉數組(adapt_object)??
?? select convert(int, substring(@tmp_str, 1, @tmp_index - 1))
?? select? @tmp_str? = substring(@tmp_str, @tmp_index + 1, 100)?
end
select * from @table_串轉數組
轉載于:https://www.cnblogs.com/bigmouthz/archive/2007/12/20/1007330.html
總結
以上是生活随笔為你收集整理的sql中将分隔字符串转为临时表的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大型企业门户网站设计开发一般性原则和建议
- 下一篇: 软件设计之 数据库设计