• 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_串转数组

  • 相关阅读:
    hh
    SDUT 3923 打字
    最短路
    阶乘后面0的个数(51Nod 1003)
    大数加法
    Biorhythms(中国剩余定理)
    usaco-5.1-theme-passed
    usaco-5.1-starry-passed
    usaco-5.1-fc-passed
    usaco-4.4-frameup-passed
  • 原文地址:https://www.cnblogs.com/bigmouthz/p/1007330.html
Copyright © 2020-2023  润新知