我正在尝试使用带有where
的{{1}}子句从Intersystems缓存数据库中检索数据,但没有任何效果。
查询:
timestamp
错误:
select *
from dbo.iSkillsetStat
where Timestamp >= '2014-07-29 00:00:00'
如果我在没有ERROR: [SQLCODE: <-4>:<A term expected, beginning with one of
the following: identifier, constant, aggregate, %ALPHAUP, %EXACT,
%MVR, %SQLSTRING, %SQLUPPER, %STRING, %UPPER, $$, :,
+, -, (, NOT, EXISTS, or FOR>]
[Location: <Prepare>]
的情况下运行查询,则返回所有数据。
请提出任何建议!
答案 0 :(得分:2)
由于 TIMESTAMP 是保留字,您应将其用双引号括起来“TIMESTAP”
答案 1 :(得分:0)
字段timestamp
可能是保留关键字,不应用于列名(请查看https://www.drupal.org/node/141051#728)
<强>提示:强>
如果您的字段类型为TIMESTAMP
,则在比较之前转换该值:
SELECT *
FROM dbo.iSkillsetStat
WHERE columnname >= TIMESTAMP('2014-07-29 00:00:00')
答案 2 :(得分:0)
在类似的情况下,这对我有用:
select * from dbo.iSkillsetStat where Timestamp >= '2014-07-29T00:00:00'
请注意&#39; T&#39;在日期和时间值之间。
答案 3 :(得分:0)
试试这个:
select *
from dbo.iSkillsetStat
where Timestamp >= Convert(datetime, '2014-07-29 00:00:00')
您的日期时间000
中缺少2014-07-29 00:00:00
。
应该是这样2014-07-29 00:00:00:000
而不是2014-07-29 00:00:00