select right('0000'+cast(字段 as varchar),4) from 表

解决方案 »

  1.   

    declare @d int
    --declare 
    set @d=0110
    print right('0'+convert(varchar(10),@d),4)
      

  2.   

    在存储过程中可以写成这样子么?
    A.TRADE_MODE AS right('0000'+cast(字段 as varchar),4),
      

  3.   

    select right('0000'+cast(字段 as varchar),4) from 表
      

  4.   

    在存储过程中可以写成这样子么?
    A.TRADE_MODE AS right('0000'+cast(字段 as varchar),4),
    FROM REL1 A JOIN REL2 B
      

  5.   

    select right('0000'+cast(字段 as varchar),4)as 名 from 表
      

  6.   

    select right('0000'+cast(字段 as varchar),4)as 名 from 表
      

  7.   

    服务器: 消息 156,级别 15,状态 1,行 4
    在关键字 'right' 附近有语法错误。
    运行存储过程后就出现上面的错误,为什么?
      

  8.   

    在存储过程中可以写成这样子么?
    A.TRADE_MODE AS right('0000'+cast(字段 as varchar),4),
    不可以create view v_trade_mode as
     select right('0000'+cast(字段 as varchar),4) from yourtable
    go
     
    查询:
    select * from v_trade_mode
      

  9.   

    select right('0000'+cast(字段 as varchar(4)),4) from 表
    注意:varchar(4)数据类型必须指定长度!
      

  10.   


    Select A.TRADE_MODE AS right('0000'+cast(字段 as varchar),4) --  会出错
      

  11.   

    declare @ int
    set @=110---显示:
    select right(10000+@,4)
      

  12.   

    除非:declare @i int,@j varchar(8000)
    set @i=110set @j='select 列1 as ['+right(10000+@i,4)+'] from 表'
    exec(@j)
      

  13.   

    A.TRADE_MODE AS right('0000'+cast(字段 as varchar),4)如果字段有多个值,那么别名也有多个,显然是不行的
      

  14.   

    试一试:create table test (id int)
    insert into test values(120)
    insert into test values(110)declare @a varchar(100)
    select @a = right(('0000'+convert(varchar,id)),4) from test
    exec('select [id] as ['+@a+'] from test')drop table test
      

  15.   

    RIGHT(10000+@,4)
    感谢大家!问题解决,上面就是最优
      

  16.   

    特殊感谢pengdali(大力 V2.0)
      

  17.   

    pengdali(大力 V2.0)真是牛!
    学习!!