Oracleバージョン:11.2.0.2.0
設定NLS_COMP = 'LINGUISTIC'
しNLS_SORT = 'BINARY_CI'
ました。
LIKE
先頭にワイルドカード(%)を付けずに比較を使用すると、正しい結果が返されません。これが一般的な例です。私の問題は明らかにクエリ#3にあります。誰かがこれを以前に経験しましたか?
CREATE TABLE People
(
ID NUMBER(1,0),
FirstName NVARCHAR2(20),
LastName NVARCHAR2(20)
);
INSERT INTO People (ID, FirstName, LastName) VALUES ('1', 'John', 'Doe');
INSERT INTO People (ID, FirstName, LastName) VALUES ('2', 'Jane', 'Doe');
INSERT INTO People (ID, FirstName, LastName) VALUES ('3', 'Rich', 'Donner');
INSERT INTO People (ID, FirstName, LastName) VALUES ('4', 'Mike', 'Redoer');
-- Query #1
SELECT ID FROM People WHERE Lastname = 'doe';
-- Results (Correct)
-- 1
-- 2
-- Query #2
SELECT ID FROM People WHERE Lastname LIKE '%doe%';
-- Results (Correct)
-- 1
-- 2
-- 4
-- Query #3
SELECT ID FROM People WHERE Lastname LIKE 'do%';
-- Results (Incorrect)
-- 1
-- 2
-- 3
-- 4