Convert函数,用法请查阅SQL联机丛书

解决方案 »

  1.   

    用convert这个函数,查找一下相关的帮助把
      

  2.   

    Convert函数可以解决Format(Date,"yyyy/mm/dd")将日期转换为yyyy/mm/dd的格式
    但是Convert函数无法完成Format(intVariant,"0000"),即,将某一整数转换成四位的字符编码,如0001,0002
      

  3.   

    replicate('0',4-len(cast( intVariant as varchar)))+cast( intVariant as varchar) 
      

  4.   

    To icevi
    replicate('0',4-len(cast( intVariant as varchar)))+cast( intVariant as varchar) 
    可以解决一部分问题,但是,intVariant是一个长度未知的变量,如果intVariant的长度超过4位,则以上语句就出错,或不能返回正确的结果。
    我希望能达到如下结果:
    如果intVar= 123 则结果返回“0123”,如果intVar = 123456 则结果返回“123456”在Access数据库中有Format函数,列如,Format(intVariant,"0000"),用起来相当方便,不知SQL Server中为何没有类似的功能。Format函数功能对于信息系统中自动生成一些物品编号是相当有用的。自动生成一些物品编号可能是 “字母”+ 日期 + 流水号
      

  5.   

    应该是Convert函数,这个函数的功能很象FORMAT,但好象很多限制,不知这算不算MS的BUG还是我等学的不精,我记得好象ORACLE好象有这个语句的
      

  6.   

    SQL 中我没发现有这样的函数。
    你可以将4改大点,或这样:
    case when len(cast( intVariant as varchar))>=4 
    then cast( intVariant as varchar)
    else replicate('0',4-len(cast( intVariant as varchar)))+cast( intVariant as varchar) end
    来做。若经常用,可以做个自定义函数。唉。要是有这样的函数我会不告诉你吗?告诉你方法了,自己转个弯嘛。
      

  7.   

    多谢大侠指点,我现在就给分了。
    但我心里还是万分的痛苦,为什么在Access数据库中如此简单的问题,在SQL Server中会如此的复杂。