从数据库存放的是2008-5-3 8:01:01
通过convert(char(10),ff,120)转换后成为2008-05-03
我想得到2008-5-3,也就是去掉不超过10的0.

解决方案 »

  1.   

    declare @dt datetime
    set @dt='2008-5-3 8:01:01'select @dt, replace(convert(char(10),@dt,120), '-0', '-')/*
                            
    ----------------------- -----------
    2008-05-03 08:01:01.000 2008-5-3(1 row(s) affected)*/
      

  2.   

    select substring(convert(char(10),'2008-5-3 8:01:01',112),1,4)+'-'+substring(convert(char(10),'2008-5-3 8:01:01',112),6,1)+'-'+substring(convert(char(10),'2008-5-3 8:01:01',112),8,1)
      

  3.   

    通过convert(char(10),ff,120)转换后成为2008-05-03 
    我想得到2008-5-3,也就是去掉不超过10的0.-----------------------
    replace(convert(varchar(10), ff, 120), '-0', '-')
      

  4.   

    declare @a varchar(10)
    set @a='2008-05-03'select 
    cast(datepart(yyyy,@a) as varchar(4))+'-'+
    cast(datepart(mm,@a) as varchar(2))+'-'+
    cast(datepart(dd,@a) as varchar(2))
      

  5.   

    select cast(datepart(month,getdate()) as char(2))+'-'+cast(datepart(day,getdate()) as char(2))
      

  6.   

    DECLARE @dt datetime
    SET @dt=GETDATE()--1.短日期格式:yyyy-m-d
    SELECT REPLACE(CONVERT(varchar(10),@dt,120),N'-0','-')--2.长日期格式:yyyy年mm月dd日 
    --A. 方法1 
    SELECT STUFF(STUFF(CONVERT(char(8),@dt,112),5,0,N'年'),8,0,N'月')+N'日'
    --B. 方法2 
    SELECT DATENAME(Year,@dt)+N'年'+DATENAME(Month,@dt)+N'月'+DATENAME(Day,@dt)+N'日'--3.长日期格式:yyyy年m月d日
    SELECT DATENAME(Year,@dt)+N'年'+CAST(DATEPART(Month,@dt) AS varchar)+N'月'+DATENAME(Day,@dt)+N'日'--4.完整日期+时间格式:yyyy-mm-dd hh:mi:ss:mmm
    SELECT CONVERT(char(11),@dt,120)+CONVERT(char(12),@dt,114)
      

  7.   

    declare @a varchar(10)
    set @a='2008-05-03'select 
    cast(datepart(yyyy,@a) as varchar(4))+'-'+
    cast(datepart(mm,@a) as varchar(2))+'-'+
    cast(datepart(dd,@a) as varchar(2))
    select replace(@a,'-0','-')
      

  8.   

    --1.短日期格式:yyyy-m-d
    SELECT REPLACE(CONVERT(varchar(10),@dt,120),N'-0','-')
      

  9.   

    convert(char(10),ff,120)转换后成为2008-05-03 select replce(convert (char(10),ff,120),'-0','-')
      

  10.   


    select replace(convert (char(10),ff,120),'-0','-')
      

  11.   


    select replace(convert (nvarchar(10),ff,120),'-0','-')
      

  12.   

    Everyone is so great that I must study hardly。
      

  13.   

    declare @dt datetime set @dt='2008-5-3 8:01:01' select @dt, replace(convert(char(10),@dt,120), '-0', '-') /*  ----------------------- ----------- 2008-05-03 08:01:01.000 2008-5-3 (1 row(s) affected) */
      

  14.   


    declare @dt datetime
    set @dt='2008-05-03 8:01:01'
    select datename(yy,@dt)+'-'+ltrim(datepart(mm,@dt))+'-'+ltrim(datepart(dd,@dt))--or
    SELECT REPLACE(CONVERT(varchar(10),@dt,120),N'-0','-')