SQL查询不返回数据

时间:2014-07-29 09:15:15

标签: sql intersystems-cache

我正在尝试使用带有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>] 的情况下运行查询,则返回所有数据。

请提出任何建议!

4 个答案:

答案 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