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

3 cách để kiểm tra kiểu dữ liệu của cột trong PostgreSQL

Dưới đây là ba cách để lấy kiểu dữ liệu của một cột nhất định trong MariaDB.

\d Lệnh

Trong psql, \d lệnh hiển thị thông tin về bảng, dạng xem, dạng xem cụ thể hóa, chỉ mục, chuỗi hoặc bảng ngoại.

Chúng ta có thể sử dụng lệnh này để kiểm tra kiểu dữ liệu của các cột trong một bảng nhất định:

\d public.actor

Kết quả:

                                             Table "public.actor"
+-------------+-----------------------------+-----------+----------+-----------------------------------------+
|   Column    |            Type             | Collation | Nullable |                 Default                 |
+-------------+-----------------------------+-----------+----------+-----------------------------------------+
| actor_id    | integer                     |           | not null | nextval('actor_actor_id_seq'::regclass) |
| first_name  | character varying(45)       |           | not null |                                         |
| last_name   | character varying(45)       |           | not null |                                         |
| last_update | timestamp without time zone |           | not null | now()                                   |
+-------------+-----------------------------+-----------+----------+-----------------------------------------+
Indexes:
    "actor_pkey" PRIMARY KEY, btree (actor_id)
    "idx_actor_last_name" btree (last_name)
Referenced by:
    TABLE "film_actor" CONSTRAINT "film_actor_actor_id_fkey" FOREIGN KEY (actor_id) REFERENCES actor(actor_id) ON UPDATE CASCADE ON DELETE RESTRICT
Triggers:
    last_updated BEFORE UPDATE ON actor FOR EACH ROW EXECUTE FUNCTION last_updated()

Chúng ta có thể thêm một dấu cộng (+ ) để tiết lộ thông tin mở rộng:

\d+ public.actor

Kết quả:

                                                                 Table "public.actor"
+-------------+-----------------------------+-----------+----------+-----------------------------------------+----------+--------------+-------------+
|   Column    |            Type             | Collation | Nullable |                 Default                 | Storage  | Stats target | Description |
+-------------+-----------------------------+-----------+----------+-----------------------------------------+----------+--------------+-------------+
| actor_id    | integer                     |           | not null | nextval('actor_actor_id_seq'::regclass) | plain    |              |             |
| first_name  | character varying(45)       |           | not null |                                         | extended |              |             |
| last_name   | character varying(45)       |           | not null |                                         | extended |              |             |
| last_update | timestamp without time zone |           | not null | now()                                   | plain    |              |             |
+-------------+-----------------------------+-----------+----------+-----------------------------------------+----------+--------------+-------------+
Indexes:
    "actor_pkey" PRIMARY KEY, btree (actor_id)
    "idx_actor_last_name" btree (last_name)
Referenced by:
    TABLE "film_actor" CONSTRAINT "film_actor_actor_id_fkey" FOREIGN KEY (actor_id) REFERENCES actor(actor_id) ON UPDATE CASCADE ON DELETE RESTRICT
Triggers:
    last_updated BEFORE UPDATE ON actor FOR EACH ROW EXECUTE FUNCTION last_updated()
Access method: heap

information_schema.columns Xem

information_schema.columns chế độ xem chứa thông tin về các cột:

SELECT
    column_name,
    data_type,
    character_maximum_length AS max_length,
    character_octet_length AS octet_length
FROM
    information_schema.columns
WHERE
    table_schema = 'public' AND 
    table_name = 'actor' AND
    column_name = 'first_name';

Kết quả:

+-------------+-------------------+------------+--------------+
| column_name |     data_type     | max_length | octet_length |
+-------------+-------------------+------------+--------------+
| first_name  | character varying |         45 |          180 |
+-------------+-------------------+------------+--------------+

pg_typeof() Chức năng

pg_typeof() hàm trả về OID của kiểu dữ liệu của giá trị được chuyển cho nó.

Do đó, chúng tôi có thể sử dụng nó để lấy kiểu dữ liệu của một cột bằng cách chuyển cột đó đến pg_typeof() chức năng trong khi truy vấn bảng:

SELECT pg_typeof(first_name)
FROM public.actor
LIMIT 1;

Kết quả:

+-------------------+
|     pg_typeof     |
+-------------------+
| character varying |
+-------------------+

Trong PostgreSQL, ký tự character varying là tên của varchar (thực ra, varchar là bí danh cho ký tự character varying ).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Điều gì xảy ra với các bản sao khi chèn nhiều hàng?

  2. Hàm truy vấn động Postgres

  3. Tối ưu hóa truy vấn trong PostgreSQL. GIẢI THÍCH Khái niệm cơ bản - Phần 2

  4. cách tạo bảng ngày tháng theo tiêu chuẩn ISO-8601 trong postgres

  5. Các chế độ xem PostgreSQL security_barrier hoạt động như thế nào?