4

2 つの日付の間のレコードを取得しようとしていますが、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 は正しいように見えますが、なぜ不平を言っているのかわかりません。

ありがとう

4

1 に答える 1

9

試す:

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

それ以外の場合2012 minus 05 minus 28は であり、これは1979整数であり、日付ではありません。

于 2012-05-29T16:14:17.570 に答える