SQL Server 2008没有达到我的预期DateTime.DateTime无论我使用什么日期格式,它都不允许我设置变量.
当我执行:
DECLARE @Test AS DATETIME
SET @Test = 2011-02-15
PRINT @Test
Run Code Online (Sandbox Code Playgroud)
我得到一个输出:
Jun 18 1905 12:00AM
Run Code Online (Sandbox Code Playgroud)
我已经检查了所有可以找到的区域设置,这一切看起来都没问题.我也试过设置DateTime各种文字替代品,例如'15/02/2011','2011-02-15 00:00:00'等.
Dav*_*ead 35
您需要将日期时间值括在引号中:
DECLARE @Test AS DATETIME
SET @Test = '2011-02-15'
PRINT @Test
Run Code Online (Sandbox Code Playgroud)
mar*_*c_s 15
首先 - 在日期文字周围使用单引号!
其次,我强烈建议始终使用ISO-8601日期格式 - 无论您的SQL Server上的区域设置,区域或语言设置如何,这都可以使用.
在ISO-8601格式可以是:
YYYYMMDD仅限日期(例如201108252011年8月25日)YYYY-MM-DDTHH:MM:SS日期和时间(例如2011-08-25T14:15:00,AUgust的25日,下午14:15/2:15)2011-01-15= 2011-16= 1995.然后将其从一个整数隐式转换为一个日期,从1900年1月1日开始,给你第1995天.
你需要使用 SET @test = '2011-02-15'
小智 6
尝试使用选择而不是打印
DECLARE @Test AS DATETIME
SET @Test = '2011-02-15'
Select @Test
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
112007 次 |
| 最近记录: |