我正在做一个项目并卡在sql
查询
上,查询没有给出任何错误也没有返回任何结果告诉我问题出在哪里
SELECT
barcode
, Date
, timein
, timeout
, totaltime
, leave
, remarks
FROM TimeSheet
WHERE barcode = @barcode
AND Date LIKE '@year-07-%'
我在运行时在变量中传递 2 个值 @barcode
@year
但是如果我在 sql 编辑器中显式地运行带有值类型的查询,它可以正常工作并返回值
如果运行这个
SELECT
barcode
, Date
, timein
, timeout
, totaltime
, leave
, remarks
FROM TimeSheet
WHERE barcode = 123456
AND Date LIKE '2013-07-%'
返回值
最佳答案
SQL Server 不扩展 '@year-07-%'
中的变量。
假设 @year
参数是一个 varchar
并且 [date]
列是一个 date
,你可以试试这个:
where convert(varchar(10), [date], 120) like @year + '-07-%'
或者更好:
where datepart(year, [date]) = cast(@year as int)
and datepart(month, [date]) = 7
关于asp.net - 通配符sql日期查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17920282/