English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل SQLite الأساسي

دليل متقدم SQLite

واجهة برمجة تطبيقات SQLite

جملة LIKE في SQLite

استخدام SQLite LIKE عميل لاستخدام العلامات التبديل لتطابق القيم النصية مع النمط. إذا كان تعبير البحث يمكن مطابقته بنمط، فإن عميل LIKE سيعود إلى true، أي 1. هناك علامتان تبديل تستخدم مع عميل LIKE

  • النسبة المئوية (%)

  • الخط السفلي (_)

النسبة المئوية تمثل عددًا صفرًا أو واحدًا أو عدة أرقام أو أحرف. الخط السفلي يمثل حرفًا أو رقمًا واحدًا. يمكن استخدام هذه الرموز معًا.

القواعد

إليك الجمل الأساسية لـ % و _.

SELECT FROM table_name WHERE column LIKE 'XXXX%'
أو 
SELECT FROM table_name WHERE column LIKE '%XXXX%'
أو 
SELECT FROM table_name WHERE column LIKE 'XXXX_'
أو
SELECT FROM table_name WHERE column LIKE '_XXXX'
أو
SELECT FROM table_name WHERE column LIKE '_XXXX_'

يمكن استخدام عمليات الجمع AND OR لدمج n شرط. هنا،XXXX يمكن أن يكون أي قيمة عددية أو قيمة نصية.

在线示例

下表列出了许多示例,这些示例显示WHERE部分具有不同的LIKE子句,且带有'%'和'_'运算符。

序号声明与说明
1

WHERE SALARY LIKE '200%'

查找以200开头的任何值

2

WHERE SALARY LIKE '%200%'

查找任何位置有200的值

3

WHERE SALARY LIKE '_00%'

查找在第二和第三位置具有00的任何值

4

WHERE SALARY LIKE '2_%_%'

查找以2开头且长度至少为3个字符的任何值

5

WHERE SALARY LIKE '%2'

查找以2结尾的任何值

6

WHERE SALARY LIKE '_2%3'

查找第二个位置带有2并以3结尾的任何值

7

WHERE SALARY LIKE '2___3'

查找以2开头和3结束的五位数数字中的任何值

让我们举一个真实的实例,考虑带有以下记录的COMPANY表。

ID          NAME        AGE         ADDRESS     SALARY
----------    ----------    ----------    ----------    ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4                                 Mark                                25                                 Rich-Mond         65000.0
5           David       27          Texas       85000.0
6                                 Kim                                 22                                 South-Hall         45000.0
7           James       24          Houston     10000.0

下面是一个示例,它将显示COMPANY表中AGE以2开头的所有记录。

sqlite> SELECT * FROM COMPANY WHERE AGE LIKE '2%';

这将产生以下结果。

ID          NAME        AGE         ADDRESS     SALARY
----------    ----------    ----------    ----------    ----------
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4                                 Mark                                25                                 Rich-Mond         65000.0
5           David       27          Texas       85000.0
6                                 Kim                                 22                                 South-Hall         45000.0
7           James       24          Houston     10000.0

下面是一个示例,它将显示COMPANY表中的所有记录,其中ADDRESS在文本内将带有连字符(-)。

sqlite> SELECT * FROM COMPANY WHERE ADDRESS  LIKE '%-%';

这将产生以下结果。

ID          NAME        AGE         ADDRESS     SALARY
----------    ----------    ----------    ----------    ----------
4                                 Mark                                25                                 Rich-Mond         65000.0
6                                 Kim                                 22                                 South-Hall         45000.0