Mic*_*ins 2 sql-server sql-server-2008
我想宣布一年如下:
DECLARE @Year varchar
Run Code Online (Sandbox Code Playgroud)
并用以下内容填充此内容:
select @Year = year('2011')
Run Code Online (Sandbox Code Playgroud)
我可以这样做,还是必须创建一个完整的日期并用填充信息填充它?
我希望有一个可重复使用的年度可用性,我可以注入我的查询.
在此先感谢您的帮助和建议.
我想我可能会找到解决方案但是,如果有快速的方法请告诉我.如果我搞清楚,我会更新.
我认为我需要添加一些额外的信息以便澄清.
我需要这个变量,以便对我数据库中的日期进行一些日期比较.我想检查以验证变量@Year是否等于数据库中日期的年份.
YEAR(EntryDate) = YEAR('2011')
Run Code Online (Sandbox Code Playgroud)
要么
我的新方法
YEAR(EntryDate) = YEAR(cast(@year as varchar))
Run Code Online (Sandbox Code Playgroud)
这是我的查询中where语句的一部分.
1 - 为什么要成为一个varchar而不是一个int?你想2011不是Two thousand and eleven吧?
2 - 您始终可以使用该YEAR(GETDATE())功能获取当前年份.
数值的语法是
DECLARE @Year int = YEAR(GETDATE())
Run Code Online (Sandbox Code Playgroud)
编辑:
varchar用于数字比较的原因示例:
用int:
21 <2010 = TRUE
用varchar:
21 <2010 = FALSE
| 归档时间: |
|
| 查看次数: |
4000 次 |
| 最近记录: |