給定一個表,其中包含數據類型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