这就是我的SQL查询的样子,但是我的回报仍然显示一些奖金低于8.00的员工,我做错了什么?
SELECT EMP_NUM, EMP_LNAME, EMP_FNAME, EMP_HIREDATE, EMP_PCT
FROM employee
WHERE EMP_HIREDATE < #01/01/2007#
AND EMP_PCT >= #8.00# ;
输出
答案 0 :(得分:3)
MS Access将#
用于 date 文字,但不使用其他常量。我强烈建议您使用yyyy / mm / dd格式表示日期。所以:
SELECT EMP_NUM, EMP_LNAME, EMP_FNAME, EMP_HIREDATE, EMP_PCT
FROM employee
WHERE EMP_HIREDATE < #2017/01/01# AND
EMP_PCT >= 8.00;
如果EMP_PCT
实际上是介于0和1之间的值,那么您可能希望使用0.08
代替8.00
。
答案 1 :(得分:0)
SELECT EMP_NUM, EMP_LNAME, EMP_FNAME, EMP_HIREDATE, EMP_PCT
FROM employee
WHERE EMP_HIREDATE < '01/01/2007'
AND cast(EMP_PCT as float) >= 8.00