gpt4 book ai didi

sql-server - 在 SQL Server 中使用带有动态查询的日期时间

转载 作者:行者123 更新时间:2023-12-03 15:18:18 25 4
gpt4 key购买 nike

我正在使用一个动态查询,其中我想使用保存日期时间的变量,每当我执行查询时,当我将该变量转换为 varchar(max) 时,它说无法从字符串转换日期时间。 ,它将它作为字符串而不是 datetime ,那么我应该如何执行查询..
下面是我试图执行的 SQL 查询。

SET @SQL1 = 'SELECT B.FacId, B.FacName, B.BookCode, B.BookName, B.Quantity, 
CONVERT(VARCHAR(10), B.TillDate, 104) AS TILLDATE FROM '+@TABLE+' B
WHERE B.TillDate BETWEEN CONVERT(VARCHAR(10),'+@FROMDATE+', 101) and
CONVERT(VARCHAR(10), DATEADD(DD,1,'+@TODATE+'), 101)'

EXEC SP_EXECUTESQL @SQL1
这里 @fromdate@todatedatetime类型来自不同的临时表。并存储在这些变量中..
我应该如何执行这个查询?

最佳答案

你需要引用你的日期..

SET @SQL1 = 
'SELECT B.FacId,
B.FacName,
B.BookCode,
B.BookName,
B.Quantity,
CONVERT(VARCHAR(10), B.TillDate, 104) AS TILLDATE
FROM '+@TABLE+' B
WHERE B.TillDate BETWEEN ''' + CONVERT(VARCHAR(10),@FROMDATE, 101) + ''' and ''' + CONVERT(VARCHAR(10),DATEADD(DD,1,@TODATE), 101) + ''''

关于sql-server - 在 SQL Server 中使用带有动态查询的日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5028523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com