1
Vote

符号/ 在Access数据库中表示两数相除,但有余数

description

var item = db.Orders.Where(o => SqlFunctions.DateAdd(DateParts.Quarter, dt, 1).Value.Month/3 + 1 == expected).FirstOrDefault();

在Access中生成的sql语句:
SELECT TOP 1 t0.[OrderID], t0.[CustomerID], t0.[OrderDate]
FROM [Orders] AS t0
WHERE ((((DatePart('m', p0) / 3) + 1)=2))
-- p0:(DbType = DateTime,Value = 2013/4/8 12:59:56)

错误:DatePart('m', p0) / 3 + 1 = 2.333333333
解决方法:FLOOR(DatePart('m', p0) / 3) + 1 =2

comments