SQL 通配符

SQL 通配符

SQL 通配符

#通配符可用于替代字符串中的任何其他字符。

在 SQL 中,通配符与 SQL LIKE 操作符一起使用。

SQL 通配符用于搜索表中的数据。

在 SQL 中,可使用以下通配符:

|通配符 | 描述 |

#| % | 替代 0 个或多个字符 |

| _ | 替代一个字符 |

| [charlist] | 字符列中的任何单一字符 |

| [^charlist]或[!charlist] | 不在字符列中的任何单一字符 |

使用 SQL % 通配符

#下面的 SQL 语句选取 domainname 以字母 “a” 开始的所有网站:

MariaDB [learnsql]> select * from domains where domainname like 'a%';

+----+-----------+------------+------------+------------+

| ID | ICP | DomainName | RegDate | EndDate |

+----+-----------+------------+------------+------------+

| 15 | namesilo | aosp.me | 2016/3/17 | 2023/3/17 |

| 21 | namesilo | avlist.top | 2021/6/5 | 2023/6/5 |

| 44 | dnspod.cn | alair.cn | 2021-08-06 | 2022-12-10 |

+----+-----------+------------+------------+------------+

3 rows in set (0.009 sec)

下面的 SQL 语句选取 url 包含模式 “a” 的所有记录:

MariaDB [learnsql]> select * from domains where domainname like '%a%';

+----+-----------+---------------+------------+------------+

| ID | ICP | DomainName | RegDate | EndDate |

+----+-----------+---------------+------------+------------+

| 13 | namesilo | raspi.in | 2014/2/27 | 2023/2/27 |

| 15 | namesilo | aosp.me | 2016/3/17 | 2023/3/17 |

| 16 | namesilo | bailuyuan.org | 2017/3/23 | 2023/3/23 |

| 21 | namesilo | avlist.top | 2021/6/5 | 2023/6/5 |

| 44 | dnspod.cn | alair.cn | 2021-08-06 | 2022-12-10 |

| 46 | dnspod.cn | nasplus.cn | 2022-01-28 | 2023-03-08 |

| 47 | dnspod.cn | manjushri.cn | 2022-01-28 | 2023-03-11 |

| 52 | gandi.net | mua.wiki | 2022/7/19 | 2023/7/19 |

+----+-----------+---------------+------------+------------+

8 rows in set (0.001 sec)

使用 SQL _ 通配符

#下面的 SQL 语句选取 domainname 以一个任意字符开始,然后是 “osp.me” 的所有记录:

MariaDB [learnsql]> select * from domains where domainname like '_osp.me';

+----+----------+------------+-----------+-----------+

| ID | ICP | DomainName | RegDate | EndDate |

+----+----------+------------+-----------+-----------+

| 15 | namesilo | aosp.me | 2016/3/17 | 2023/3/17 |

+----+----------+------------+-----------+-----------+

1 row in set (0.000 sec)

下面的 SQL 语句选取 domainname 以 “av” 开始,然后是一个任意字符,然后是 “i”,然后是一个任意字符,然后是 “t.top” 的所有网站:

MariaDB [learnsql]> select * from domains where domainname like 'av_i_t.top';

+----+----------+------------+----------+----------+

| ID | ICP | DomainName | RegDate | EndDate |

+----+----------+------------+----------+----------+

| 21 | namesilo | avlist.top | 2021/6/5 | 2023/6/5 |

+----+----------+------------+----------+----------+

1 row in set (0.000 sec)

使用 SQL [charlist] 通配符

#MySQL 中使用 REGEXP 或 NOT REGEXP 运算符 (或 RLIKE 和 NOT RLIKE) 来操作正则表达式。

下面的 SQL 语句选取 domainname 以 “a”、“b” 或 “s” 开始的所有记录:

MariaDB [learnsql]> SELECT * FROM domains WHERE domainname REGEXP '^[abs]';

+----+-----------+---------------+------------+------------+

| ID | ICP | DomainName | RegDate | EndDate |

+----+-----------+---------------+------------+------------+

| 12 | namesilo | blbl.dev | 2020/1/17 | 2023/1/17 |

| 15 | namesilo | aosp.me | 2016/3/17 | 2023/3/17 |

| 16 | namesilo | bailuyuan.org | 2017/3/23 | 2023/3/23 |

| 21 | namesilo | avlist.top | 2021/6/5 | 2023/6/5 |

| 22 | google | suopo.net | 2020/6/17 | 2023/6/17 |

| 44 | dnspod.cn | alair.cn | 2021-08-06 | 2022-12-10 |

| 50 | dnspod.cn | byhzg.cn | 2022-01-28 | 2023-04-14 |

+----+-----------+---------------+------------+------------+

7 rows in set (0.000 sec)

下面的 SQL 语句选取 domainname 以 g 到 s 字母开头的记录:

MariaDB [learnsql]> SELECT * FROM domains WHERE domainname REGEXP '^[g-s]';

+----+-----------+--------------+------------+------------+

| ID | ICP | DomainName | RegDate | EndDate |

+----+-----------+--------------+------------+------------+

| 4 | namesilo | getos.org | 2016/10/9 | 2022/10/9 |

| 7 | wanwang | lyq.wiki | 2018/12/27 | 2022/12/28 |

| 8 | namesilo | les.moe | 2015/12/31 | 2022/12/31 |

| 9 | namesilo | regex.in | 2020/1/3 | 2023/1/3 |

| 13 | namesilo | raspi.in | 2014/2/27 | 2023/2/27 |

| 14 | namesilo | pornie.in | 2016/3/10 | 2023/3/10 |

| 17 | wanwang | linuxuc.com | 2016/3/24 | 2023/3/24 |

| 22 | google | suopo.net | 2020/6/17 | 2023/6/17 |

| 24 | namesilo | ltecn.com | 2014/7/26 | 2025/7/26 |

| 25 | namesilo | pornie.top | 2016/3/10 | 2027/3/10 |

| 46 | dnspod.cn | nasplus.cn | 2022-01-28 | 2023-03-08 |

| 47 | dnspod.cn | manjushri.cn | 2022-01-28 | 2023-03-11 |

| 48 | dnspod.cn | pushto.cn | 2022-01-28 | 2023-03-12 |

| 49 | dnspod.cn | gfwlist.cn | 2022-01-28 | 2023-03-23 |

| 52 | gandi.net | mua.wiki | 2022/7/19 | 2023/7/19 |

+----+-----------+--------------+------------+------------+

15 rows in set (0.001 sec)

下面的 SQL 语句选取 name 不以 b 到 k 字母开头的记录:

MariaDB [learnsql]> SELECT * FROM domains WHERE domainname REGEXP '^[^k-s]';

+----+-----------+---------------+------------+------------+

| ID | ICP | DomainName | RegDate | EndDate |

+----+-----------+---------------+------------+------------+

| 4 | namesilo | getos.org | 2016/10/9 | 2022/10/9 |

| 6 | wanwang | dotbbq.com | 2017/10/28 | 2022/10/28 |

| 12 | namesilo | blbl.dev | 2020/1/17 | 2023/1/17 |

| 15 | namesilo | aosp.me | 2016/3/17 | 2023/3/17 |

| 16 | namesilo | bailuyuan.org | 2017/3/23 | 2023/3/23 |

| 18 | namesilo | ustv.xyz | 2018/3/24 | 2023/3/25 |

| 19 | wanwang | unixetc.com | 2017/3/30 | 2023/3/30 |

| 20 | namesilo | ciux.org | 2010/4/26 | 2023/4/26 |

| 21 | namesilo | avlist.top | 2021/6/5 | 2023/6/5 |

| 43 | dnspod.cn | zjq.xyz | 2021-08-06 | 2022-10-24 |

| 44 | dnspod.cn | alair.cn | 2021-08-06 | 2022-12-10 |

| 45 | dnspod.cn | ymqd.net | 2022-01-28 | 2023-03-03 |

| 49 | dnspod.cn | gfwlist.cn | 2022-01-28 | 2023-03-23 |

| 50 | dnspod.cn | byhzg.cn | 2022-01-28 | 2023-04-14 |

+----+-----------+---------------+------------+------------+

14 rows in set (0.000 sec)

相关推荐