在查询时 如何把一个时间字段的查询结果格式化为如:“2015-03-14 08:05:02”;而不是默认的“2015/03/14 08:05:02” ;相关的sql语句应该咋写? 谢谢

解决方案 »

  1.   

    Select CONVERT(varchar(16), getdate(), 20) 
      

  2.   


    Select CONVERT(varchar(30), getdate(), 121) 
      

  3.   


    谢谢,您这个可以,但是一:多出了毫秒;二:查询已有字段“select CONVERT(varchar(30), EditDate, 121) as EditDate2 from CS_WorkTitle” 依然没有作用。  谢谢
      

  4.   


    谢谢,您这个可以,但是一:多出了毫秒;二:查询已有字段“select CONVERT(varchar(30), EditDate, 121) as EditDate2 from CS_WorkTitle” 依然没有作用。  谢谢适当的把 varchar(30) 改小点,改成19 试试。2015-03-14 10:10:10应该是日期  10 位 + 1 位空格 + 8 位时间 。
      

  5.   


    谢谢,您这个可以,但是一:多出了毫秒;二:查询已有字段“select CONVERT(varchar(30), EditDate, 121) as EditDate2 from CS_WorkTitle” 依然没有作用。  谢谢适当的把 varchar(30) 改小点,改成19 试试。2015-03-14 10:10:10应该是日期  10 位 + 1 位空格 + 8 位时间 。select CONVERT(varchar(19), EditDate, 121) as EditDate2 from CS_WorkTitle结果:
    //---------------------------------
    2015/9/2 9:2:3
    2015/10/1 10:45:25
    ................
    ...............
    ................
    //---------------------------------w我想要的是://---------------------------------
    2015-09-02 09:02:03
    2015-10-01 10:45:25
    ................
    ...............
    ................
    //---------------------------------谢谢赐教!
      

  6.   


    -- 你的  EditDate 列, 是什么类型 ? 是字符型的吗 ?
    -- 如果是字符型的,先转化成 datetime  型的。create table test(d1 datetime , d2 varchar(30))
    go
    insert into test values(GETDATE(),'2015-3-14 2:2:2')
    go
    select 
    CONVERT(varchar(19),d1,121) d1 , 
    CONVERT(varchar(19),CONVERT(datetime,d2), 121) d2 
    from test 
    go
    drop table test 
    go
    (1 行受影响)
    d1                  d2
    ------------------- -------------------
    2015-03-15 08:27:11 2015-03-14 02:02:02(1 行受影响)