如何截取字段的最后几位

解决方案 »

  1.   

    --是否要这样的?
    select right(字段名,位数) as 字段名 from 表
      

  2.   

    right('要截取的字段','要截取的位数')
      

  3.   

    ??
    Create Table TEST(ID Int Identity(1,1),Name Varchar(50))
    Insert TEST Select 'liu,jun,lyg'
    Union All Select 'bb,aa'
    Union All Select 'cc,dd,ee'
    GO
    Select Right(Name,3) As Name From TEST
    GO
    Drop Table TEST
    --Result
    /*
    lyg
    ,aa
    ,ee
    */
      

  4.   

    好象不是啊 这个字段的类型是char类型 
    用left是可以截取到前几位的
    但是 用right不可以截取到后几位
      

  5.   

    如果是char型则先RTRIM
    比如
    SELECT RIGHT(RTRIM(字段),位数) FROM tb
    也可以用SUBSTRING
    SELECT SUBSTRING(RTRIM(字段),LEN(RTRIM(字段))-位数+1,LEN(RTRIM(字段))) FROM tb
    当然还有很多函数配合起来也可以.如果是varchar可以不用rtrim.
      

  6.   

    因为char在字段值长度不足字段定义长度时会补空格进去,所以不rtrim的话,你取到的是空格.
      

  7.   

    select right(cast(字段名 as varchar),位数) as 字段名 from 表
      

  8.   

    --用转换不行,还是用rtrim
    select right(rtrim(字段名),位数) as 字段名 from 表
      

  9.   

    :)先用Rtrim處理空格,再用Right得到
      

  10.   

    好象不是啊 这个字段的类型是char类型 
    用left是可以截取到前几位的
    但是 用right不可以截取到后几位
    ========先用trim()函数去掉右边空格,再用right()函数就OK了。