UPPER() या LOWER() के साथ केस-इनसेंसिटिव DISTINCT
डिफ़ॉल्ट DISTINCT केस-सेंसिटिव होता है। केस-इनसेंसिटिव के लिए:
विधि 1: UPPER() का उपयोग
SELECT DISTINCT UPPER(yourColumnName) FROM yourTableName;
विधि 2: LOWER() का उपयोग
SELECT DISTINCT LOWER(yourColumnName) FROM yourTableName;
उदाहरण: टेबल बनाना और डेटा डालना
mysql> CREATE TABLE CaseInsensitiveDistinctDemo (
-> Id INT NOT NULL AUTO_INCREMENT,
-> UserEmailId VARCHAR(30),
-> UserPassword VARCHAR(10),
-> PRIMARY KEY(Id)
-> );
mysql> INSERT INTO CaseInsensitiveDistinctDemo(UserEmailId, UserPassword)
-> VALUES('John@gmail.com', 'john123'),
-> ('john@gmail.com', '654321'),
-> ('Mike@gmail.com', '999999'),
-> ('mike@gmail.com', '334556'),
-> ('Carol@gmail.com', '1010101'),
-> ('Larry@gmail.com', '12345678');
UPPER() के साथ DISTINCT
mysql> SELECT DISTINCT UPPER(UserEmailId) FROM CaseInsensitiveDistinctDemo;
+--------------------+ | upper(UserEmailId) | +--------------------+ | JOHN@GMAIL.COM | | MIKE@GMAIL.COM | | CAROL@GMAIL.COM | | LARRY@GMAIL.COM | +--------------------+
LOWER() के साथ DISTINCT
mysql> SELECT DISTINCT LOWER(UserEmailId) FROM CaseInsensitiveDistinctDemo;
+--------------------+ | lower(UserEmailId) | +--------------------+ | john@gmail.com | | mike@gmail.com | | carol@gmail.com | | larry@gmail.com | +--------------------+
दोनों तरीके 6 रिकॉर्ड्स से 4 यूनिक ईमेल लौटाते हैं (केस अंतर अनदेखा करके)।