在Microsoft Access SQL中使用运算符与数字文本值之间

时间:2014-09-03 11:12:54

标签: sql ms-access between

我正在尝试选择COLUMN的值介于1和9之间的所有行。问题是COLUMN的数据类型是文本,我使用以下代码来获取这些行:

SELECT * FROM TABLE WHERE COLUMN BETWEEN '1' AND '9';

我没有获得COLUMN值在1到9之间的行,而是获得了COLUMN值为10,11等的行。 我怎样才能让它只给出COLUMN值在1到9之间的行?

3 个答案:

答案 0 :(得分:4)

如果列中的所有值都保证为整数,则可以执行以下操作:

SELECT * FROM TABLE WHERE CInt(COLUMN) BETWEEN 1 AND 9

答案 1 :(得分:3)

例如:

SELECT * FROM TABLE WHERE COLUMN BETWEEN '1' AND '9' and LEN(COLUMN) = 1;

答案 2 :(得分:-1)

您可以在where子句中转换列类型。

SELECT * FROM TABLE WHERE convert(bigint,COLUMN) BETWEEN '1' AND '9';

但要确保所有值都可以转换为bigint类型,或者你可以使用float / int等。