如果给定变量是日期,我使用此命令选择所有特定日期,如果不是,则应返回所有字段。
这些命令@query
在日期形式时有效,但它返回错误:
“从字符串转换日期和/或时间时转换失败。”
当它是任何其他任意字符串时。
代码:
select * from table where
format(dateofbirth,'dd/MMM/yyyy') = Case
when ISDATE(@query)=1 then
format(CONVERT(datetime,@query),'dd/MMM/yyyy')
else
format(dateofbirth,'dd/MMM/yyyy')
编辑:
@query
可以是任何字符串,例如。“2013 年 1 月 1 日”、“随机”、“3”。
@query
如果不是日期形式,该命令应返回所有字段。