select substring(字段,2,1)  from TABLEA只取第2位吗?

解决方案 »

  1.   

    用 replece
    语法
    REPLACE ( 'string_expression1' , 'string_expression2' , 'string_expression3' )参数
    'string_expression1'待搜索的字符串表达式。string_expression1 可以是字符数据或二进制数据。'string_expression2'待查找的字符串表达式。string_expression2 可以是字符数据或二进制数据。'string_expression3'替换用的字符串表达式。string_expression3 可以是字符数据或二进制数据。返回类型
    如果 string_expression(1、2 或 3)是支持的字符数据类型之一,则返回字符数据。如果 string_expression(1、2 或 3)是支持的 binary 数据类型之一,则返回二进制数据。示例
    下例用 xxx 替换 abcdefghi 中的字符串 cde。SELECT REPLACE('abcdefghicde','cde','xxx')
    GO下面是结果集:------------
    abxxxfghixxx
    (1 row(s) affected)
      

  2.   

    假设字段名为idselect replace(replace(id,'{',''),'}','')  from 
    table 
    where charindex(','id) =0
      

  3.   

    DECLARE @T TABLE(TEST VARCHAR(10))
    INSERT @T SELECT '{8}' 
    INSERT @T SELECT '{8}' 
    INSERT @T SELECT '{8},{9}' 
    INSERT @T SELECT '{9}' 
    INSERT @T SELECT '{9}'
    SELECT SUBSTRING(TEST ,2,1) FROM @T 
    /*     
    ---- 
    8
    8
    8
    9
    9*/
      

  4.   

    select case charindex(',',col1) when 0 then col1
                 else substring(col1,1,charindex(',',col1)) end as col1
    from a