数据库表中,date字段的初始默认值设置的是 (left(getdate(),10))
但是换了另一个sql server ,这个就是 变成’ May 8 200 ‘,所以造成数据类型错误。
 怎么设置可以(left(getdate(),10)) 得到 5 8 2009 ,因为数据库很多表都这样设置的默认值。所以不要修改这个默认值的表达式。
操作系统是 server 2008 英文版 数据库是 server 2005 英文版

解决方案 »

  1.   

    try--select left(CONVERT(varchar(100), GETDATE(), 0),10)
      

  2.   

    是 “Default Value or Bingding” 这里 设置的 (left(getdate(),10)) ,因为很多表都这样设置的初始值、所以这里最好不要修改,是不是设置什么地方,可以得到数字的,而不带英文的。
      

  3.   

    set language us_englishselect left(GETDATE(),10)/**
    Changed language setting to us_english.
                         
    -------------------- 
    May  8 200(所影响的行数为 1 行)
    **/set language 简体中文select left(GETDATE(),10)/**
    已将语言设置改为 简体中文。
                         
    -------------------- 
    05  8 2009(所影响的行数为 1 行)
    **/
      

  4.   

    恩,是的,我原来用的简体中文的得到的格式是 05  8 2009,但是现在的是英文的,就是 May  8 200
      

  5.   

    josy 的正解。呵呵,分给少了,我再家给大家。
      

  6.   

    select left(convert(varchar(10),getdate(),0),10)
      

  7.   

    哈哈,
    听说你要加分?教你这个
    SET LANGUAGE--放心使用
    SET LANGUAGE us_english
    select left(getdate(),8)
    go
    SET LANGUAGE 简体中文--也可以换成其他你喜欢的
    select left(getdate(),8)/*
    Changed language setting to us_english.
                     
    ---------------- 
    May  9 2Changed language setting to 简体中文.
                     
    ---------------- 
    05  9 20
    */
      

  8.   

    SET LANGUAGE us_english
    select left(getdate(),10)
    go
    SET LANGUAGE 简体中文
    select left(getdate(),10)/*
    Changed language setting to us_english.
                         
    -------------------- 
    May  9 200
    Changed language setting to 简体中文.
                         
    -------------------- 
    05  9 2009
    */