SQL "BETWEEN" 命令给出的数据类型不匹配

SQL "BETWEEN" command gives data type mismatch

所以我有代码

INSERT INTO EMP_1 ( EMP_NUM, EMP_LNAME, EMP_FNAME, EMP_INITIAL, EMP_HIREDATE, JOB_CODE )
SELECT EMP_NUM, EMP_LNAME, EMP_FNAME, EMP_INITIAL, EMP_HIREDATE, JOB_CODE
FROM EMPLOYEE
WHERE EMP_NUM BETWEEN 103 AND 109;

我收到错误“条件表达式中的数据类型不匹配”。

当我没有 WHERE ... BETWEEN 行时,我不会收到错误消息;它按预期添加了所有 18 行。但我只想为 EMP_NUM 在 103-109 之间的位置添加行。 EMP_NUM EMP_1 中的成员 table 和 EMPLOYEE table 都是同一类型:Char(3).

(另外,我希望 EMP_NUM 应该是一个数字,而不是一个字符串,但这是家庭作业,我知道什么)

我不熟悉 MS-Access,但它似乎在抱怨 EMP_NUM 属于 CHAR(3) 类型,而您要求将其与两个 INT 值。

尝试按字符更改整数值:WHERE EMP_NUM BETWEEN "103" AND "109";

使用 Val() 将那些 EMP_NUM 字符串转换为数字,以便与您的数字 BETWEEN 值范围进行比较:

WHERE Val(EMP_NUM) BETWEEN 103 AND 109