php - 操作数类型冲突 : datetime2 is incompatible with int (Between)

标签 php sql sql-server codeigniter

我试图在两个日期之间获取记录,但是当我运行 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 看起来正确,但我似乎无法弄清楚它为什么提示,知道吗?

谢谢

最佳答案

尝试:

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

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

关于php - 操作数类型冲突 : datetime2 is incompatible with int (Between),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10802882/

相关文章:

sql - 如何为 Entity Framework 数据库的 varchar 列创建唯一键?

SQL INNER QUERY 在 UPDATE 查询中返回多个值

php - 如何使用包含逗号的值解析 CSV?

php防止动态添加的垂直图像水平显示

sql - 在 mySQL 中显示数据时计算行数

sql - 在 PLSQL 过程中的 IN 子句中使用表类型

sql - 如何处理SQL Server数据库中的重复记录

php - mysql_error() 不显示错误

php - MySQL 连接访问被拒绝,但只有 50% 的时间,在带有 Nginx-Proxy 的 Docker 中

java - 通过结果集检索单个值并将其与字符串值进行比较