select convert(varchar(10),getdate(),120)

解决方案 »

  1.   

    若想返回日期类型值
    select cast(cast(getdate() as int) as datetime)
      

  2.   

    竹之草的运算式将当前日期转成了文本,而且如果日期是小于10位长,取得的不正确。例如'2001-5-6'就取到'2001-5-6 0'。
    icevi的运算式取到的还是带有时间,只是时间变成'00:00:00',也不是我想要的。
    还有没有别的更好的函数?
      

  3.   

    select convert(datetime,convert(char(10),getdate(),111)) 
      

  4.   

    若想返回datetime类型值
    select convert(datetime,convert(char(8),getdate(),112)) select convert(varchar(10),getdate(),120)的结果得到日期的明天值。 
    执行下面语句:
    select getdate() 
    select convert(varchar(10),getdate(),120) 
    select convert(datetime,convert(char(8),getdate(),112)) 
    select cast(cast(getdate() as int) as datetime)
    返回结果:------------------------------------------------------ 
    2001-10-25 13:44:16.840(所影响的行数为 1 行)           
    ---------- 
    2001-10-25(所影响的行数为 1 行)                                                       
    ------------------------------------------------------ 
    2001-10-25 00:00:00.000(所影响的行数为 1 行)                                                       
    ------------------------------------------------------ 
    2001-10-26 00:00:00.000(所影响的行数为 1 行)
      

  5.   

    你到底是想要得到日期型的值还是字符型的值?
    若是要得到日期型的,只能将时间转成“00:00:00”,不能去掉的。
    若想得到字符型的还是用zhuzhichao(竹之草)的方法,结果是对的,不知道你做的时候为什么不对?你是不是直接用的
    select convert(varchar(10),'2001-5-6 00:00:00',120) 而没有用getdate()?
    这样的结果确实不对,用getdate()是对的。
      

  6.   

    有人用sql servr中文版!我没见过耶
      

  7.   

     foolishchao(傻超) 好厉害,我倒没注意四舍五入的问题,这样改一下:
    select cast(floor(cast(getdate() as float)) as datetime)
      

  8.   

    jasmine(Yaya):SQL SERVER 2000是中文版的:)
      

  9.   

    执行
    select convert(varchar(10),convert(datetime,'2001-5-6 00:00:00'),120)
    返加
               
    ---------- 
    2001-05-06(所影响的行数为 1 行)
     
      

  10.   

    同意楼上的
    select convert(varchar(10),convert(datetime,getdate()),20)
      

  11.   

    关于SQL Server 系统提供的数据类型隐性转换如果在某处可以接受两个以上数据类型要注意。
    例如:Convert函数的第二个参数为字符数据类型、datetime等数据类型。
    '2001-5-6 00:00:00'用于Convert函数的第二个参数被解释为字符数据类型。
    如果你想要 datetime类型'2001-5-6 00:00:00'用于Convert函数的第二个参数,
    要显式转换convert(datetime,'2001-5-6 00:00:00')。如果在某处只接受datetime数据类型,字符数据类型会隐性转换成datetime数据类型,例如:
    declare @dt datetime
    set @dt='2001-5-6 00:00:00'
    select @dt
      

  12.   

    select convert(varchar(10),getdate(),120)    //Get Date
    select convert(varchar(10),getdate(),108)    //Get Time