我正在使用vb.net2008开发一个应用程序,数据库为msaccess。我在数据库中设计了一个表,其中列IN_TIME和OUT_TIME的格式为HH:MM:SS。我想要一个结果作为TOT_TIME,它将显示这两列之间的差异。我已经为此写了一个查询,现在我正面临一个问题,如果IN_TIME小于8:00:00 AM,则我不想显示结果显示结果。我曾经使用CASE WHEN,但它没有用,帮帮我。
到目前为止我已尝试过这个
SELECT *
(CASE WHEN LATE_LIMIT > '" + date3 + "'
THEN ROUND(([PM_OUT]-[OVERIME_LIMIT]),2)
ELSE 'N' )AS OverTime
FROM DTR_REC
答案 0 :(得分:0)
您缺少逗号和END案例:
SELECT *
,(CASE WHEN LATE_LIMIT > '" + date3 + "'
THEN ROUND(([PM_OUT]-[OVERIME_LIMIT]),2)
ELSE 'N' END)AS OverTime
FROM DTR_REC
但我不确定Access是否支持CASE语句。如果不是这样的话:
SELECT *
,IIF(LATE_LIMIT > '" + date3 + "', ROUND(([PM_OUT]-[OVERIME_LIMIT]),2),'N') AS OverTime
FROM DTR_REC