例如,我有一个表名TEST_TABLE并有一个名为column_A列具有值:如果我要选择所有的数据逃避通配符之间和运营商
A_1
A_2
A_3
A1
A2
A3
B_1
B_2
B_3
B1
B2
B3
具有A_
为开端,我可以使用逃脱\
像:
select * from test_table where column_A like 'A\_*' escape '\';
使_
不视为单个字符通配符。我可以得到A_1,A_2和A_3。
我应该怎么做,当我想在between和operator之间使用这个?像
select * from test_table where column_A between 'A_\*' and 'B_\*'
我想上面的一个,它没有逃过_
。如果我的条件后添加逃逸右像
select * from test_table
where column_A between 'A_\*' escape '\' and 'B_\*' escape '\'
或
select * from test_table
where column_A between 'A_\*' and 'B_\*' escape '\'
我得到一个语法错误。
使用比较运算符转义字符没有意义,因为这些运算符不会将任何字符视为特殊字符。 “BETWEEN”没有通配符,因此不需要转义它们。你希望你的查询返回什么,这真的不清楚。 – 2012-02-08 09:08:34