摘自联机帮助:该设置仅用在将字符串转换为日期值时的解释中。它对日期值的显示没有影响。SET DATEFORMAT 的设置是在执行或运行时设置,而不是在分析时设置。

解决方案 »

  1.   

    是指明在给日期字段赋值时的格式为“日月年”
    SET DATEFORMAT dmy
    GO
    DECLARE @datevar datetime
    SET @datevar = '22/12/98'
    SELECT @datevar--如果是在该格式下用下面的语句就会出错,因为不超出日期格式!
    DECLARE @datevar datetime
    SET @datevar = '12/21/98'
    SELECT @datevar
      

  2.   

    看看这段示例你会更加清楚
    示例
    下例使用不同的日期格式处理不同格式的日期字符串。SET DATEFORMAT mdy
    GO
    DECLARE @datevar datetime
    SET @datevar = '12/31/98'
    SELECT @datevar
    GOSET DATEFORMAT ydm
    GO
    DECLARE @datevar datetime
    SET @datevar = '98/31/12'
    SELECT @datevar
    GOSET DATEFORMAT ymd
    GO
    DECLARE @datevar datetime
    SET @datevar = '98/12/31'
    SELECT @datevar
    GO