【发布时间】:2021-03-22 16:36:23
【问题描述】:
我写了一个存储过程,但这并没有返回任何结果。该程序的查询工作正常。但同样的查询在过程中不会返回任何结果。
程序:
ALTER proc [dbo].[GetValuesByDateRange](@dateFrom as datetime2, @dateTo as datetime2, @devId as varchar)
as
select *
from SensorValues
where AddDate between @dateFrom and @dateTo
and JSON_VALUE(Value,'$.DevId') = @devId
查询
select *
from SensorValues
where AddDate
between '2020-12-10 00:00:00' and '2020-12-14 00:00:00'
and JSON_VALUE(Value,'$.DevId') = '408414743'
【问题讨论】:
-
varchar必须始终有一个长度...否则它的varchar(1)会截断您的值。您的样本数据至少需要varchar(9),可能需要更长的时间。 -
是的,很遗憾我忘记了,现在可以使用了,谢谢 :)
-
您使用的是什么不受支持的 SQL Server 版本?
标签: sql sql-server sql-server-2008