例如,我在Microsoft Access数据库中有这个表:
id numeric
context text
numberfield numeric
我想在“numberfield”列中选择以9结尾的每条记录。这会产生一个问题,因为它是一个数字字段,因此我不能使用以下SQL:
select * from table where numberfield like "%9"
解决方案是我将数字字段更改为文本。但这会产生一个问题,因为有几个用户,这种变化可能会在将来出现问题。当它是数字字段时,是否可以选择结尾?
答案 0 :(得分:2)
听起来有点可疑..你确定可以使用那个查询吗?不了解Access,但几乎任何其他DBMS都允许。
如果它确实不起作用,你可以这样做:
select * from table where STR(numberfield) like "*9"
编辑:也许它无效,因为您在访问中使用了%
*
select * from table where numberfield like "*9"
答案 1 :(得分:1)
数字是数字,因此请使用Mod:
select * from table where numberfield mod 10 = 9
答案 2 :(得分:0)
不是转换为字符串并进行比较,而是使用MOD操作提取最右边的数字 编辑您的查询,如下所示:
SELECT *
FROM table
WHERE ((([numberfield] Mod 10)=9));