
介绍PostgreSQL不区分大小写
PostgreSQL不区分大小写是指在PostgreSQL中考虑到SQL选择查询和正则表达式的搜索。在使用正则表达式时,我们需要使用PostgreSQL的~*运算符,而不是like运算符;我们也可以在PostgreSQL中使用ilike运算符。我们也可以创建一个扩展名为citext,在PostgreSQL中使用不区分大小写的查询;我们需要先创建它来使用citext的扩展。我们还在PostgreSQL中使用了降低函数来使用不区分大小写的查询;我们还需要在列上添加一个降低函数的索引。
语法
下面提到了不同的语法。
1.通过使用 citext 扩展,PostgreSQL 对大小写不敏感。
Create extension citext (Create new extension of citext in PostgreSQL); Select name_of_column1, name_of_column2, name_of_column3, …, name_of_columnN from name_of_table where name_of_column::citext IN (value_of_column1, value_of_column2, value_of_column3, …, value_of_columnN);
2.PostgreSQL 不区分大小写,使用 lower 函数
SELECT name_of_column1, name_of_column2, name_of_column3, …, name_of_columnN from name_of_table WHERE lower('name_of_column') = LOWER('name_of_column');
3.PostgreSQL 不区分大小写使用添加索引的 lower 函数
Create index name_of_index on name_of_table (lower (name_of_column));
下面是PostgreSQL 不区分大小写的参数描述语法。
- **选择 -**这个操作被定义为从使用不关心铸造的列中选择行。我们必须使用citext扩展来从表中获取记录。
- 创建扩展 - 这被定义为在PostgreSQL中创建一个扩展名为citext。因此,举例来说,我们可以创建这个扩展来定义不区分大小写的。
- Citext - 这是用于PostgreSQL大小写不敏感的扩展。如果我们必须从字符串表中获取记录,而不进行转换,那么我们必须在PostgreSQL中使用citext扩展。
- 列名1到列名N - 这被定义为从表中选择列数,在PostgreSQL中使用低级函数和citext扩展查询大小写不敏感。
- 表的名称 - 这被定义为从表中选择列的数量,以使用PostgreSQL中不区分大小写的 lower 函数和 citext 扩展查询。
- Where condition - 我们在PostgreSQL中使用where condition来从表中获取指定的记录。我们使用where条件来使用PostgreSQL中的citext扩展。
- Lower - 这个函数用于不区分大小写的查询。当使用 lower 函数时,它将不会发出类型转换的错误。
- 创建索引 - 在使用 lower 函数时,我们将在列上创建一个索引。这被定义为在PostgreSQL中通过使用降低函数来创建索引。
- 索引的名称 - 这被定义为在PostgreSQL中使用降低函数来创建一个新的索引。
不区分大小写的查询如何在PostgreSQL中工作
- 下面是不区分大小写的查询在PostgreSQL中的工作。
- 现在,我们正在使用citext扩展来处理PostgreSQL中的不区分大小写的查询。默认情况下,PostgreSQL没有安装citext扩展,我们需要首先在我们的服务器上安装这个扩展来使用。
- 下面的例子显示,默认情况下,citext扩展没有安装;我们需要先安装才能在PostgreSQL中使用。
select * from stud2 where name::citext in ('ABC', 'PQR'); create extension citext; select * from stud2 where name::citext in ('ABC', 'PQR');

- 在这个例子中,我们使用创建扩展的命令创建了一个citext扩展,扩展名是citext。
- 创建扩展后,在使用citext扩展时,选择操作是成功的。
- Citext扩展将在系统内部调用下级函数。Citext扩展是自动调用下级函数的。因此,在PostgreSQL中使用citext扩展时,我们不需要在查询中使用下级函数。
- 为了检查citext扩展是否启用,我们使用下面的命令,如下。
\dx citext;

- 使用上述命令,我们可以检查citext扩展名是否安装在我们的PostgreSQL数据库服务器上。此外,我们还可以检查版本名称,模式名称,我们已经启用了该扩展。
- 它还会显示citext扩展的描述。
例子
下面是PostgreSQL中不区分大小写的例子,如下。我们正在使用case_test表来描述不区分大小写的例子。
下面是case_test表的结构和数据。
\d+ case_test; select * from case_test;

1.通过使用citext扩展来进行不区分大小写的查询--。
- 下面的例子表明,通过使用citext扩展,对大小写不敏感。
- 我们使用'ABC, 'PQR, 'aBc, 'PQr'字符串来搜索case_test表中的数据。
select * from case_test where name::citext in ('ABC', 'PQR', 'aBc', 'PQr');

2.通过使用低级函数进行不区分大小写的查询------。
- 下面的例子表明,通过使用 lower 函数,对大小写不敏感。
- 我们在name列上使用了一个 lower函数,从case_test表中获取数据。
SELECT * FROM case_test WHERE lower('Name') = LOWER('name');

3.通过在列上创建一个 lower 函数索引来进行不区分大小写的查询
下面的例子显示了通过在列上创建一个低级函数索引来实现不区分大小写的查询。
Create index lower_idx on case_test (lower(name)); SELECT * FROM case_test WHERE name = 'ABC';

推荐文章
这是一个关于PostgreSQL大小写不敏感的指南。在这里,我们讨论了PostgreSQL中不区分大小写的查询是如何工作的,同时还有一些例子。你也可以看看下面的文章以了解更多------。