PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Прехвърляне на тип данни на Postgres

cast(varchar_col AS int)  -- SQL standard

или

varchar_col::int          -- Postgres syntax shorthand

Тези варианти на синтаксис са валидни (почти) навсякъде . Вторият може да изисква влагане на скоби в специални ситуации:

  • PostgreSQL:Създайте индекс за дължината на всички полета на таблицата

И първото може да се изисква, когато само функционална нотация е позволена от синтактични ограничения:

  • PostgreSQL - CAST срещу ::оператор на LATERAL таблична функция

Има още два варианта:

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

Обърнете внимание как написах int4 (varchar_col) . Това е вътрешното име на типа и има дефинирана и функция за него. Няма да работи като integer() или int() .

Имайте предвид също, че последният формуляр не работи за масив видове. int[] '{1,2,3}' трябва да бъде '{1,2,3}'::int[] или cast('{1,2,3}' AS int[]) .

Подробности в ръководството тук итук .

Да е валидно за integer , низът трябва да се състои от незадължителен водещ знак (+ /- ), последвано само от цифри. Началното/задното бяло пространство се игнорира.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GROUP BY и агрегирани последователни числови стойности

  2. Postgres е най-готината база данни – Причина №1:Разработчиците я обичат!

  3. Инсталиране на PostgreSQL Extension към всички схеми

  4. PostgreSQL акцент + търсене без значение на малки и големи букви

  5. Свързване с Postgresql в докер контейнер отвън