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

Truyền kiểu dữ liệu postgres

cast(varchar_col AS int)  -- SQL standard

hoặc

varchar_col::int          -- Postgres syntax shorthand

Các biến thể cú pháp của luận án này hợp lệ (hầu như) ở bất kỳ đâu . Điều thứ hai có thể yêu cầu dấu ngoặc đơn lồng vào nhau trong các tình huống đặc biệt:

  • PostgreSQL:Tạo chỉ mục theo độ dài của tất cả các trường trong bảng

Và điều đầu tiên có thể được yêu cầu khi chỉ có ký hiệu chức năng được cho phép bởi các hạn chế về cú pháp:

  • PostgreSQL - toán tử CAST so với ::trên hàm bảng LATERAL

Có hai biến thể khác:

int4(varchar_col)         -- only works for some type names
int '123'                 -- must be an untyped, quoted string literal

Lưu ý cách tôi đã viết int4 (varchar_col) . Đó là tên kiểu nội bộ và cũng có một hàm được định nghĩa cho nó. Sẽ không hoạt động dưới dạng integer() hoặc int() .

Cũng lưu ý rằng biểu mẫu cuối cùng không hoạt động cho mảng các loại. int[] '{1,2,3}' phải là '{1,2,3}'::int[] hoặc cast('{1,2,3}' AS int[]) .

Thông tin chi tiết trong sách hướng dẫn tại đây tại đây .

Hợp lệ cho integer , chuỗi phải bao gồm một dấu hiệu đứng đầu tùy chọn (+ / - ) chỉ theo sau là các chữ số. Khoảng trắng ở đầu / cuối bị bỏ qua.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để xóa một giá trị kiểu enum trong postgres?

  2. Postgresql:Làm cách nào để chọn các mục nhập n phần trăm (%) hàng đầu từ mỗi nhóm / danh mục

  3. Trong Redshift / Postgres, làm thế nào để đếm các hàng đáp ứng một điều kiện?

  4. Tính Tổng tích lũy trong PostgreSQL

  5. Làm cách nào để so sánh hàng hiện tại với hàng tiếp theo và hàng trước đó trong PostgreSQL?