早上好,我有一个小问题,查询查找一个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开头的行。
我在谷歌研究后读到,你不能使用通配符与数字。对吗?
有一个方法来解决我的问题,这个查询?
您的查询是
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%')对于所有行的结果总是为true
查询应该像这样
SELECT codice,giacenza FROM prodotti WHERE codice like 'AC%' OR codice like '160%'
SELECT codice,
giacenza
FROM prodotti
WHERE codice LIKE 'AC%'
OR codice LIKE '160%'