众所周知,SQL SERVER默认(指数据导出、或通过WEB程序查询数据库)返回的datetime日期型形式为“2006 二月 17 14:50”
一般为了让返回值“可用”,我们经常要在SQL语句里写字数较长的转换,或者编写用户自定义函数那如果我想直接 select datetime字段时返回的格式就直接为'2005-02-17 14:50:20"的形式,请问哪里可以设置呢?

解决方案 »

  1.   

    要把sqlserver的缺省时间格式改变才行,其实要安全还是用转换比较好,也很简单:
    select convert(datetime,getdate(),20)
      

  2.   

    zpingy(阿平) :您提供的语句,我用了,也是会返回“2006 二月 17 14:50”的可能您误解我的意思了,如果是在“查询分析器”里用,看起来确实是'2005-02-17 14:50:20"
    你试一下,用这个SQL语句导出为excel试试
      

  3.   

    倒是没有试过,可能可以在excel的单元格式设置一下试试看
      

  4.   

    ketty_1980(晨曦清风) :我已经设置了啊,还是不行的
      

  5.   


    开始对CSDN失望了,至少对这个版块失望决定这个问题不解决,就不结帖
      

  6.   

    在 查询分析器中
    点:
    工具->选项->连接
    把在显示货币、号码、日期与时间使用区域设置 打勾
      

  7.   

    happyflystone(没枪的狙击手) :非常感谢您的回答
    但希望大家能看清楚我的问题
    我在查询分析器中,看到的日期格式已经是我想要的(2006-02-14 12:12:13)
    但我用PHP连接,从数据表中取出来的日期格式变成了“2006 二月 17 14:50”我已检查过“控制面板->区域选项->日期、时间设置”,已更改过,但是没效果
    而按照happyflystone的建议,更改的只是查询分析器的显示,对向PHP的传输不会有影响。
      

  8.   

    你可以转化成字符串再导出到excel。因为这个是标准的odbc格式,跟你的系统有关。应该还是你的系统设置问题。不知道你怎么导excel?
      

  9.   

    看着感觉是Excel里的问题了,你试着将Excel的单元格格式改为日期,然后选择你需要的格式应该就可以了。
      

  10.   

    你的excel的设置的不正确!不仅仅是改系统的设置,还得修改excel的单元格的格式!