TABLE_1有5个字符串,如:'AK___','AB_DE','AB__E','AE__E','AF ___'
一个下划线代表任何一个字母或数字。
如果给'ABZDE',
有没有办法在我的Table_1中选择'AB_DE','AB__E'?
create table TABLE_1 ( modelname varchar2(10) )
INSERT INTO Table_1 VALUES ('AK___')
INSERT INTO Table_1 VALUES ('AB_DE')
INSERT INTO Table_1 VALUES ('AB__E')
INSERT INTO Table_1 VALUES ('AE__E')
INSERT INTO Table_1 VALUES ('AF___')
SELECT *
FROM Table_1
WHERE modelcode like 'AEZDE' --of course, this select clause doesn't work as I expected.
答案 0 :(得分:1)
通配符位于modelcode
列中,因此它必须是like
运算符的右手参数:
SELECT *
FROM Table_1
WHERE 'AEZDE' like modelname
-- Here ------------^
答案 1 :(得分:0)
我认为您正在滥用LIKE运营商;它需要通配符。我相信您正在寻找的查询结构是:
SELECT *
FROM Table_1
WHERE modelcode like '%AE%DE%'
但我不确定。你的问题和代码之间的字母是否会发生变化?