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
所以我有代码
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