Sql server Msg 402,16级,状态1,第300行数据类型date和int在模运算符中不兼容
运行此查询时出现错误: Msg 402,16级,状态1,第300行 数据类型date和int在模运算符中不兼容Sql server Msg 402,16级,状态1,第300行数据类型date和int在模运算符中不兼容,sql-server,Sql Server,运行此查询时出现错误: Msg 402,16级,状态1,第300行 数据类型date和int在模运算符中不兼容 我不知道你们想在这里做什么,但你们不能把一个日期除以2,或者你们能告诉我2019年3月27日除以2应该是什么吗 我只是在这里猜测,但如果您想检查作为数字的日期是否为偶数天,则需要对日期应用DAY函数进行检查: SELECT st.SupplyID, FORMAT(SupplyTrDate, 'MMM dd, yyyy') AS 'Supply Date',
我不知道你们想在这里做什么,但你们不能把一个日期除以2,或者你们能告诉我2019年3月27日除以2应该是什么吗 我只是在这里猜测,但如果您想检查作为数字的日期是否为偶数天,则需要对日期应用DAY函数进行检查:
SELECT
st.SupplyID,
FORMAT(SupplyTrDate, 'MMM dd, yyyy') AS 'Supply Date',
COUNT(SDQuantity) AS 'Total Item Purchased',
SUM(itemsSupply_price) AS 'Total Expense'
FROM
SupplyTransaction st
JOIN
SupplyTransDetail std ON st.SupplyID = std.SupplyID
JOIN
items i ON std.itemsID = i.itemsID
WHERE
SupplyTrDate % 2 = 0
AND itemsName LIKE '%A%' OR itemsName LIKE '%a%'
GROUP BY
st.SupplyID, st.SupplyTrDate, SDQuantity, itemsSupply_price, SDQuantity
HAVING
SupplyTrDate IS NOT NULL;
另外:由于您没有使用聚合列,因此条件SupplyTrDate not NULL实际上应该是WHERE子句的一部分-而不是HAVING欢迎使用StackOverflow,事实上,不要只在此处转储查询和错误消息,并期望有人提供帮助。MySQL或SQL Server以及您希望通过SupplyTrDate%2=0实现什么?另外,请仅标记您正在使用的RDBMS,MySQL或SQL Server,而不是两者。
WHERE
DAY(SupplyTrDate) % 2 = 0