我这儿的是,我用的win 7 + sql server 2008R2:DECLARE @sDate varchar(20) EXEC master..xp_regread 
 
 @rootkey='HKEY_CURRENT_USER',
 @key='Control Panel\International',
 @value_name='sDate',@value=@sDate OUTPUT
 
 SELECT @sDate 
 /*
(无列名)
-
 */

解决方案 »

  1.   

    要不你把这个注册表项Control Panel\International,修改为'-' 吧
      

  2.   

    你的现在是“-”吧,如果你手动在控制面板里面把短日期格式改为“/”,你再到SQL里面执行上面的代码,会变吗?我的是一点反应都没有,一直都是“/”
      

  3.   

    我不是想改,我只是想让我的SQL里面写的日期格式自动来套用操作系统的日期格式
      

  4.   

    我不是想改,我只是想让我的SQL里面写的日期格式自动来套用操作系统的日期格式我改了 ,改成了/ ,然后重启,但是:
    select GETDATE()
    /*
    2014-02-26 15:30:43.170
    */你是想显示成/ 还是 - 
      

  5.   

    我不是想改,我只是想让我的SQL里面写的日期格式自动来套用操作系统的日期格式我改了 ,改成了/ ,然后重启,但是:
    select GETDATE()
    /*
    2014-02-26 15:30:43.170
    */你是想显示成/ 还是 - 
    我是想要这样的效果,操作系统是什么样的格式,我在SQL读取到的就是什么样的格式,比如,操作系统的短日期格式是“-”,那我想在SQL中读到“-”,但是好像是不管我怎么改操作系统,我SQL中读取到的永远都是“/“,真奇怪,求高手解释一下这是什么原因造成的???