PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Bảng phân vùng dựa trên chữ cái đầu tiên của trường varchar

Bạn có thể sử dụng một biểu thức trong phân vùng partition by mệnh đề, ví dụ:

create table my_table(name text)
partition by list (left(name, 1));

create table my_table_a
partition of my_table
for values in ('a');

create table my_table_b
partition of my_table
for values in ('b');

Kết quả:

insert into my_table 
values
    ('abba'), ('alfa'), ('beta');

select 'a' as partition, name from my_table_a
union all
select 'b' as partition, name from my_table_b;

 partition | name 
-----------+------
 a         | abba
 a         | alfa
 b         | beta
(3 rows)

Nếu phân vùng không phân biệt chữ hoa chữ thường, bạn có thể sử dụng

create table my_table(name text)
partition by list (lower(left(name, 1)));

Đọc trong tài liệu:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sao chép hàng loạt C # sang PostgreSql

  2. Cách kích hoạt SSL trong PostgreSQL

  3. IntegrityError:phân biệt giữa ràng buộc duy nhất và không vi phạm rỗng

  4. ~~ Nhà điều hành trong Postgres

  5. Trình tự trong Oracle / PostgreSQL không có ID trong câu lệnh chèn