SQLite
 sql >> डेटाबेस >  >> RDS >> SQLite

SQLite पसंद

सारांश :इस ट्यूटोरियल में, आप सीखेंगे कि SQLite LIKE का उपयोग करके पैटर्न मिलान के आधार पर डेटा को कैसे क्वेरी करें ऑपरेटर।

SQLite का परिचय LIKE ऑपरेटर

कभी-कभी, आप उस संपूर्ण कीवर्ड को ठीक से नहीं जानते हैं जिसे आप क्वेरी करना चाहते हैं। उदाहरण के लिए, आप जान सकते हैं कि आपके सबसे पसंदीदा गीत में शब्द है,elevator लेकिन आप ठीक-ठीक नाम नहीं जानते।

आंशिक जानकारी के आधार पर डेटा को क्वेरी करने के लिए, आप LIKE . का उपयोग करते हैं WHERE . में ऑपरेटर SELECT . का खंड बयान इस प्रकार है:

SELECT
	column_list
FROM
	table_name
WHERE
	column_1 LIKE pattern;Code language: SQL (Structured Query Language) (sql)

ध्यान दें कि आप LIKE . का भी उपयोग कर सकते हैं WHERE . में ऑपरेटर अन्य कथनों का खंड जैसे DELETE और UPDATE

SQLite पैटर्न बनाने के लिए दो वाइल्डकार्ड प्रदान करता है। वे प्रतिशत चिह्न हैं % और अंडरस्कोर करें _ :

  1. प्रतिशत चिह्न % वाइल्डकार्ड शून्य या अधिक वर्णों के किसी भी क्रम से मेल खाता है।
  2. अंडरस्कोर _ वाइल्डकार्ड किसी एक वर्ण से मेल खाता है।

प्रतिशत चिह्न % वाइल्डकार्ड उदाहरण

s% पैटर्न जो प्रतिशत चिह्न वाइल्डकार्ड का उपयोग करता है ( % ) s . से शुरू होने वाली किसी भी स्ट्रिंग से मेल खाता है उदा.,son और so

%er पैटर्न किसी भी स्ट्रिंग से मेल खाता है जो er . के साथ समाप्त होता है जैसे peter , clever , आदि.

और %per% पैटर्न किसी भी स्ट्रिंग से मेल खाता है जिसमें per . होता है जैसे percent और peeper

अंडरस्कोर _ वाइल्डकार्ड उदाहरण

h_nt पैटर्न मैच hunt , hint , आदि। __pple पैटर्न से मेल खाता है topple , supple , tipple , आदि।
ध्यान दें कि SQLite LIKE ऑपरेटर केस-असंवेदनशील है। इसका मतलब है "A" LIKE "a" सच है।

हालांकि, यूनिकोड वर्णों के लिए जो ASCII श्रेणी में नहीं हैं, LIKE ऑपरेटर केस सेंसिटिव होता है जैसे, "Ä" LIKE "ä" गलत है।
यदि आप LIKE बनाना चाहते हैं तो ऑपरेटर केस-संवेदी रूप से काम करता है, आपको निम्नलिखित PRAGMA का उपयोग करने की आवश्यकता है:

PRAGMA case_sensitive_like = true;Code language: SQL (Structured Query Language) (sql)

SQLite LIKE उदाहरण

हम तालिका का उपयोग करेंगे tracks प्रदर्शन के लिए नमूना डेटाबेस में।

उन ट्रैक को खोजने के लिए जिनके नाम Wild . से शुरू होते हैं शाब्दिक स्ट्रिंग, आप प्रतिशत चिह्न का उपयोग करते हैं % पैटर्न के अंत में वाइल्डकार्ड।

SELECT
	trackid,
	name	
FROM
	tracks
WHERE
	name LIKE 'Wild%'Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

उन ट्रैक को खोजने के लिए जिनके नाम Wild . के साथ समाप्त होते हैं शब्द, आप % . का उपयोग करते हैं पैटर्न की शुरुआत में वाइल्डकार्ड।

SELECT
	trackid,
	name
FROM
	tracks
WHERE
	name LIKE '%Wild'Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

उन ट्रैक को खोजने के लिए जिनके नाम में Wild है शाब्दिक स्ट्रिंग, आप % use का उपयोग करते हैं पैटर्न के आरंभ और अंत में वाइल्डकार्ड:

SELECT
	trackid,
	name	
FROM
	tracks
WHERE
	name LIKE '%Wild%';Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

निम्न कथन उन ट्रैक्स को ढूंढता है जिनके नाम में शामिल हैं:शून्य या अधिक वर्ण (% ), उसके बाद Br , उसके बाद एक वर्ण ( _ ), उसके बाद wn , और उसके बाद शून्य या अधिक वर्ण ( % )।

SELECT
	trackid,
	name
FROM
	tracks
WHERE
	name LIKE '%Br_wn%';Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

SQLite LIKE ESCAPE के साथ खंड

यदि आप जिस पैटर्न का मिलान करना चाहते हैं उसमें % . है या _ , आपको वैकल्पिक ESCAPE . में एस्केप वर्ण का उपयोग करना चाहिए खंड इस प्रकार है:

column_1 LIKE pattern ESCAPE expression;
Code language: SQL (Structured Query Language) (sql)

जब आप ESCAPE . निर्दिष्ट करते हैं क्लॉज, LIKE ऑपरेटर expression . का मूल्यांकन करेगा जो ESCAPE . का अनुसरण करता है एक स्ट्रिंग के लिए कीवर्ड जिसमें एक एकल वर्ण, या एक एस्केप वर्ण होता है।

फिर आप इस एस्केप कैरेक्टर को पैटर्न में शाब्दिक प्रतिशत चिह्न (%) या अंडरस्कोर (_ शामिल करने के लिए उपयोग कर सकते हैं। ) LIKE ऑपरेटर प्रतिशत चिह्न का मूल्यांकन करता है (% ) या अंडरस्कोर (_ ) जो एस्केप कैरेक्टर को एक शाब्दिक स्ट्रिंग के रूप में फॉलो करता है, वाइल्डकार्ड कैरेक्टर के रूप में नहीं।

मान लीजिए आप स्ट्रिंग से मेल खाना चाहते हैं 10% एक तालिका के एक कॉलम में। हालाँकि, SQLite प्रतिशत प्रतीक की व्याख्या करता है % वाइल्डकार्ड चरित्र के रूप में। इसलिए, आपको इस प्रतिशत प्रतीक % . से बचना होगा एस्केप कैरेक्टर का उपयोग करना:

column_1 LIKE '%10\%%' ESCAPE '\';Code language: SQL (Structured Query Language) (sql)

इस अभिव्यक्ति में, LIKE ऑपरेटर पहले % और अंतिम % प्रतिशत संकेतों को वाइल्डकार्ड के रूप में और दूसरे प्रतिशत चिह्न को शाब्दिक प्रतिशत प्रतीक के रूप में व्याख्यायित करता है।

ध्यान दें कि आप अन्य वर्णों को एस्केप वर्ण के रूप में उपयोग कर सकते हैं जैसे, /, @, $.

निम्नलिखित उदाहरण पर विचार करें:

सबसे पहले, एक टेबल बनाएं t जिसमें एक कॉलम है:

CREATE TABLE t(
	c TEXT
);Code language: SQL (Structured Query Language) (sql)

इसके बाद, टेबल में कुछ पंक्तियां डालें t :

INSERT INTO t(c)
VALUES('10% increase'),
	('10 times decrease'),
	('100% vs. last year'),
	('20% increase next year');Code language: SQL (Structured Query Language) (sql)

फिर, t . से डेटा क्वेरी करें तालिका:

SELECT * FROM t;Code language: SQL (Structured Query Language) (sql)
c                     
----------------------
10% increase          
10 times decrease     
100% vs. last year    
20% increase next yearCode language: Shell Session (shell)

चौथा, उस पंक्ति को खोजने का प्रयास करें जिसका मान c . में है कॉलम में 10% है शाब्दिक स्ट्रिंग:

SELECT c 
FROM t 
WHERE c LIKE '%10%%';Code language: SQL (Structured Query Language) (sql)

हालाँकि, यह उन पंक्तियों को लौटाता है जिनके c कॉलम में मान 10 होते हैं:

c                 
------------------
10% increase      
10 times decrease 
100% vs. last year

पांचवां, सही परिणाम प्राप्त करने के लिए, आप ESCAPE . का उपयोग करें खंड जैसा कि निम्नलिखित प्रश्न में दिखाया गया है:

SELECT c 
FROM t 
WHERE c LIKE '%10\%%' ESCAPE '\';Code language: SQL (Structured Query Language) (sql)

यहाँ परिणाम सेट है:

c           
------------
10% increaseCode language: Shell Session (shell)

इस ट्यूटोरियल में, आपने सीखा है कि SQLite LIKE . का उपयोग कैसे किया जाता है दो वाइल्डकार्ड वर्णों के प्रतिशत चिह्न (% . का उपयोग करके पैटर्न मिलान के आधार पर डेटा क्वेरी करने के लिए ऑपरेटर ) और अंडरस्कोर (_ )।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एंड्रॉइड का उपयोग कर स्क्लाइट डेटाबेस में उपयोगकर्ता कैसे मौजूद है?

  2. लॉगकैट अमान्य कॉलम डेटा 1 कहता है

  3. SQLite में AUTOINCREMENT कैसे काम करता है

  4. SQLite कुल () कैसे काम करता है

  5. एंड्रॉइड में ठीक से स्क्लाइट डीबी सेट करें