sql-存储过程动态,其中包含日期
发布时间:2022-03-31 21:57:11 192
相关标签: # 数据
我必须有一个带有动态where的查询,但我对日期有问题。
错误消息是
消息295,16级,状态3,第45行
无法将字符串转换为smalldatetime数据类型
这是我的程序
Create or ALTER PROCEDURE \[dbo\].\[baro_search1\]
(
@name varchar(20),
@begin_date varchar(30)
)
AS
BEGIN
SET NOCOUNT OFF;
DECLARE @SQL VARCHAR(MAX)
DECLARE @NomFilter VARCHAR(MAX)
DECLARE @DataFilter VARCHAR(MAX)
DECLARE @all VARCHAR(2) = '1'
SET @NomFilter = CASE WHEN @name IS NULL OR @name = '' THEN '''' + @all + ''' = ''' + @all + ''''
ELSE 'Nome like ''%' + @name + '%'''
END
SET @DataFilter = CASE WHEN @begin_date IS NULL OR @begin_date = '' THEN '''' + @all + ''' = ''' + @all + ''''
ELSE 'DataConsenso = ''%' + @begin_date + '%'''
END
SET @SQL = 'SELECT \*
FROM \[dbo\].\[AnagDati\] anag
WHERE ' + @NomFilter + ''
\+ ' AND ' + @DataFilter + ''
PRINT (@SQL)
EXEC(@SQL)
END
EXEC \[dbo\].\[baro_search1\] 'name','2015-11-22 00:00:00'
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报