我正在尝试写一个if块语句。
标准是,当用户输入特定日期(如2月14日,即情人节)时,我希望执行特定的操作。但今年应该不重要。我不希望条件以年为限。
例如:
@UserDate SMALLDATETIME
IF(@UserDate='2015/02/14')
Begin
Some expression
End
Else
Some other expression发布于 2015-03-15 07:45:14
您可以使用DATEPART函数提取与情人节对应的月份和日期:
DECLARE @UserDate SMALLDATETIME
IF(DatePart(mm, @UserDate) = 2 AND DatePart(dd, @UserDate) = 14)
BEGIN
/* some expression */
END发布于 2015-03-15 07:39:21
现在,既然您终于添加了TSQL标记,我就可以做一个小搜索了。
微软已经记录了这些相当井,所以这里只是一个节选。您可能希望编写一个执行有条件操作的存储过程,并对结果数据进行INSERT:
语法 如果是Boolean_expression { sql_statement \ statement_block },则{ sql_statement / statement_block } 参数 Boolean_expression 返回
TRUE或FALSE的表达式。如果布尔表达式包含SELECT语句,则SELECT语句必须 用括号括起来。 { sql_statement| statement_block } 是使用语句块定义的任何Transact-SQL语句或语句分组。除非使用语句块,否则IF或ELSE条件只能影响一个Transact-SQL语句的性能。 若要定义语句块,请使用流控制关键字BEGIN和END.
编辑:做了另一个非常复杂的谷歌搜索,我发现DATEPART可以很好地匹配您的问题。
https://stackoverflow.com/questions/29058246
复制相似问题