下面的示例显示字符串常量 abcdef 的第二个、第三个和第四个字符:SELECT x = SUBSTRING('abcdefg', 3, 2)x
----------
cd

解决方案 »

  1.   

    试试right(left(abcdefg,4),2),也许可以。
      

  2.   

    想一种更无聊的方法
    right(stuff('abcdefg', 5, 100, ''))
      

  3.   

    楼上的少了一个变数,该为right(stuff('abcdefg', 5, 100, ''),2),嘿嘿
      

  4.   

    突然想起公司的ERP系统的编程语言可以格式化字符串,不知道SQL Server的Transact-SQL可以做到否?例如:字串234,用四位表示为:0234呢?还有好多种~
      

  5.   

    回复人: MorningTea(早茶) ( ) 信誉:100  2005-07-09 17:33:00  得分: 0  
     
     
       突然想起公司的ERP系统的编程语言可以格式化字符串,不知道SQL Server的Transact-SQL可以做到否?例如:字串234,用四位表示为:0234呢?还有好多种~
      
     
    ----------------------------------------------------------------
    这个比较简单的啊。
      

  6.   

    回复人: paoluo(一天到晚游泳的鱼) ( ) 信誉:100  2005-07-09 17:53:00  得分: 0  
      
     
    ----------------------------------------------------------------
    这个比较简单的啊。 我说的是有没有一个简单的函数可以实现(怕自己看的书太少或者作者没有介绍到),  我知道字串234,用四位表示为:0234,知道如何做了,还有其他例如12点30分10秒,这样可以直接一个函数秀给用户看:12:30:10! 公司那套ERP是用4GL写的,如果要234,用四位表示为:0234,直接
    string('234','9999'),如果12点30分10秒,直接string(time,'99:99:99'),我说的是这个意思,还有一些更复杂一点,不过他的substring()功能强大一点,很方便~
     好像Oracle有个函式,可以,忘了~~
     
      

  7.   

    0Oo..,写错了不是substring(),是“string()功能强大一点”,他的substring就和Transact-SQL一样用法,不过反正大家不会用到这个4GL语言,和VB贼像
      

  8.   

    这个位数都可以自由控制的。Select Right(100000000+234,4)
    Select Right(10000000+12,4)
    Select Right(100000000+234,5)
    Select Right(10000000+12,5)--
    0234
    001200234
    00012