【问题标题】:Operand type clash: datetime2 is incompatible with int (Between)操作数类型冲突:datetime2 与 int (Between) 不兼容
【发布时间】:2012-06-03 21:31:46
【问题描述】:

我试图获取两个日期之间的记录,但是当我运行 SQL 时出现以下错误:

操作数类型冲突:datetime2 与 int 不兼容

SELECT M.Id, M.MTimeInt, M.Date, CAST(D.Name AS TEXT) as Name 
FROM C 
JOIN N ON C.N_Id=N.Id 
JOIN M ON M.N_Id=N.Id 
JOIN MDish ON MDish.M_Id=M.Id 
JOIN D ON D.Id=MDish.D_Id 
WHERE C.Id=110 AND M.Date BETWEEN 2012-05-28 AND 2012-06-08

SQL 看起来是正确的,但我似乎无法弄清楚它为什么会抱怨,知道吗?

谢谢

【问题讨论】:

  • 日期应该用""括起来

标签: php sql sql-server codeigniter


【解决方案1】:

试试:

BETWEEN '2012-05-28' AND '2012-06-08'

否则为2012 minus 05 minus 28,等于1979,并且是整数而不是日期。

【讨论】:

  • 叹气,当错误像语法错误一样简单时,讨厌它,谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-27
  • 2020-05-29
  • 1970-01-01
  • 1970-01-01
  • 2019-10-31
  • 2016-07-09
  • 1970-01-01
相关资源
最近更新 更多