PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Tabel partisi berdasarkan huruf pertama dari bidang varchar

Anda dapat menggunakan ekspresi di partition by klausa, misalnya:

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');

Hasil:

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)

Jika partisi tidak peka huruf besar/kecil, Anda dapat menggunakan

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

Baca di dokumentasi:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat membuka koneksi yang disebabkan oleh Set Hasil ini ditutup

  2. Ikhtisar pgModeler untuk PostgreSQL

  3. Postgres memilih data jam saat ini

  4. kesalahan psql untuk memulihkan cadangan pgsl di cmd

  5. Bagaimana Log() Bekerja di PostgreSQL