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

Perlu penjelasan tentang tipe karakter di PostgreSQL

Jika Anda berasal dari latar belakang C, tipe string karakter di PostgreSQL bukan array karakter.

Untuk setiap jenis foo di PostgreSQL, ada tipe array yang sesuai foo[] yang menunjukkan array nilai bertipe foo . Gunakan tipe array hanya jika Anda tidak berencana untuk banyak memanipulasinya di dalam database; jika Anda melakukannya, biasanya lebih baik menormalkan array menjadi tabel terpisah.

Mengesampingkan tipe array, ada tipe karakter yang berbeda:

  • "char" (tanda kutip ganda diperlukan):satu karakter. Banyak digunakan dalam tabel katalog. Jangan gunakan jenis ini kecuali Anda tahu apa yang Anda lakukan.

  • character(n) atau char(n) :string karakter dengan panjang tetap. Tidak peduli apa yang Anda simpan di sana, itu akan selalu diisi dengan ruang di sisi kanan. Perilaku, seperti yang ditentukan oleh standar SQL, terkadang mengejutkan, jadi Anda jarang menginginkan tipe ini.

  • text :string karakter dengan panjang sewenang-wenang. Ini adalah tipe yang Anda inginkan untuk string karakter kecuali jika Anda ingin database menerapkan batas panjang.

  • character varying(n) atau varchar(n) :ini sama dengan text dengan batas panjang tambahan.

Untuk melengkapinya dengan sebuah contoh:

CREATE TABLE strtest(
   id serial PRIMARY KEY,
   sc "char",
   c character(10),
   vc character varying(10),
   vca character varying(10)[]
);

INSERT INTO strtest (sc, c, vc, vca)
   VALUES (
      'x',
      'short',
      'short',
      ARRAY['short1', 'short2', 'short3']
   );

SELECT sc, c, vc, vca[2] FROM strtest;
 sc |     c      |  vc   |  vca
----+------------+-------+--------
 x  | short      | short | short2
(1 row)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kesalahan sintaks pada atau di dekat WHERE

  2. Instalasi PostgreSQL di Docker

  3. Menghubungkan PostgreSQL dengan R

  4. Bagaimana justify_hours() Bekerja di PostgreSQL

  5. ODBC v Libpq:Pustaka C untuk PostgreSQL