给定一个表,其中包含数据类型VARCHAR2(20 BYTE)
的NO_TELEPHONE
列,其中包含10位或4位电话号码。我必须确保每个号码的最后4位都是唯一的(所以0000001111
和1111
不能同时存在)。Oracle SQL,varchar2,与编号为
我已经试过这样:
SELECT * from table where NO_TELEPHONE like '%1111';`
但它发现0的结果,我真的不明白为什么。
一些尝试后,我得到的结果:
SELECT * from table where NO_TELEPHONE like '1111%';
SELECT * from table where NO_TELEPHONE like '______1111%'; (there is 6 '_')
如果我有表0000001111
,我想插入0000,所以程序会做什么:
SELECT * from table where NO_TELEPHONE like '0000%';
,它将匹配0000001111 ,是不是我想要的行为
必须有这些字符串的“1111”后,一些(看不见?)字符,因此需要后,“%” LIKE表达式中的'1111'。 –
如果您使用这些过滤器找到['dump()'values](http://docs.oracle.com/cd/E11882_01/server.112/e41084/functions055.htm),您可以确切地看到它们真正包含的内容。 –
@Zeldarck我已经整理了文章中的语法,希望能够使它更加清晰。请检查它,如果它不符合您的要求,那么您可以点击“编辑X分钟前”链接并回滚编辑。 – MT0