从数据库里查询出来的时间格式是2009-7-30 15:31:16,如何在sql语句里面就直接将其格式化为2009年7月30日15点31分,各位大侠,留下你们最好的解决办法吧!哈哈,谢了~

解决方案 »

  1.   


    -- 2005年5月18日
    SELECT CAST(YEAR(GETDATE()) AS NVARCHAR) + '年' + CAST(MONTH(GETDATE()) AS NVARCHAR) +'月' + CAST(DAY(GETDATE()) AS NVARCHAR) + '日'加时间也和上面差不多吧
      

  2.   

    sql server里只能先将DateTime转成varchar类型然后对字符串进行编辑
    我觉得这样做不好,因为改变了数据的类型,最好从数据库取出来后用.net的ToString方法来格式化
      

  3.   

    如果是程序:
        string str = "2009-7-30 15:31:16";
            Response.Write(Convert.ToDateTime(str).ToString("yyyy年MM月dd日HH时mm分ss秒"));
      

  4.   

    sql server里要先将DateTime转成varchar类型然后对字符串进行编辑,如果是sqlserver,你可以直接在代码里转换 .ToString("yyyy年MM月dd日HH时mm分ss秒")如果是mysql的话,它里面有date_format函数
      

  5.   

    SELECT CAST(YEAR(GETDATE()) AS NVARCHAR) + '年' + CAST(MONTH(GETDATE()) AS NVARCHAR) +'月' + CAST(DAY(GETDATE()) AS NV
      

  6.   

    Convert.ToDateTime(str).ToString("yyyy年MM月dd日HH时mm分ss秒")
      

  7.   

    数据库里面很麻烦,c#的上面说了:
    SQL如下:
    select datename(year,getdate())+'年'+datename(month,getdate())+'月'+datename(day,getdate())+'日'+datename(hour,getdate())+'点'+datename(minute,getdate())+'分'
    /*
    ---------------------- 
    2009年07月31日13点16分(所影响的行数为 1 行)
    */
      

  8.   

    在Sql里面麻烦,还是在后台写比较好啊
      

  9.   

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