sql-server – 在SQL Server中使用带有动态查询的datetime
发布时间:2020-12-12 07:44:05 所属栏目:MsSql教程 来源:网络整理
导读:大家好, 我正在使用动态查询,其中我想使用保存日期时间的变量,每当我执行查询时它说不能从字符串转换datetime,当我将该变量转换为varchar(max)时,它将其作为字符串而不是datetime,那么我应该如何执行查询.. 下面是我试图执行的SQL查询. SET @SQL1 = 'SELECT B
大家好, 我正在使用动态查询,其中我想使用保存日期时间的变量,每当我执行查询时它说不能从字符串转换datetime,当我将该变量转换为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和@todate是来自不同临时表的日期时间类型.并存储在这些变量中.. 现在我该怎么执行这个查询.. 感谢致敬 解决方法你需要引用你的日期..SET @SQL1 = 'SELECT B.FacId,104) AS TILLDATE FROM '+@TABLE+' B WHERE B.TillDate BETWEEN ''' + CONVERT(VARCHAR(10),@FROMDATE,101) + ''' and ''' + CONVERT(VARCHAR(10),@TODATE),101) + '''' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读