早上好,我在查询varchar字段中的记录时遇到了一些问题。
我的表格由两个字段组成: codice 和 giacenza ,其中codice是varchar字段类型。
我需要找到所有记录以数字开头。
我试过的查询是:
SELECT codice,giacenza FROM prodotti WHERE codice like 'AC%' OR '160%'
和此:
SELECT codice,giacenza FROM prodotti WHERE codice like 'AC%' OR '160_'
但返回了我的所有记录,而不仅是从AC开始的行和160.如果我删除了OR' 160%'或者OR' 160 _'查询返回正确的记录:只有行以AC开头。
我在谷歌研究后读过,你不能使用带有数字的通配符。这是对的吗?
有一种方法可以通过此查询解决我的问题吗?
提前致谢。
答案 0 :(得分:4)
您的查询是
SELECT codice,giacenza FROM prodotti WHERE codice like 'AC%' OR '160%'
处理时,该编码将被视为
( codice like 'AC%') // codition 1 which will True or false
OR ('160%') // condition 2 will always true
one codition True in OR means expression true for all
表示('160%')对所有行
始终为真查询应该是这样的
SELECT codice,giacenza FROM prodotti WHERE codice like 'AC%' OR codice like '160%'
答案 1 :(得分:3)
SELECT codice,
giacenza
FROM prodotti
WHERE codice LIKE 'AC%'
OR codice LIKE '160%'