PostgreSQL: я хочу знать разницу между «cast» - PullRequest
0 голосов
/ 30 августа 2018

Я пытаюсь преобразовать запрос mssql в запрос postgresql.

запрос mssql

CONVERT(VARCHAR, column)

Я знаю, что приведение к postgresql - это два пути.

1

CAST(column as VARCHAR)
  1. колонка :: VARCHAR

Какая разница?

Можно ли использовать второй метод?

1 Ответ

0 голосов
/ 30 августа 2018

Цитата из руководства

PostgreSQL принимает два эквивалентных синтаксиса для приведений типов:

  CAST ( expression AS type )
  expression::type

Синтаксис CAST соответствует SQL; синтаксис с :: является историческим использованием PostgreSQL.

(акцент мой)

Так что оба делают одно и то же, cast() является стандартным SQL, :: - специфичным для Postgres.


Обратите внимание, что существует третий способ кастования (как описано в руководстве)

Также возможно указать приведение типа с использованием функционально-подобного синтаксиса:

typename ( expression )

Но это не рекомендуется, так как в руководстве написано: " Очевидно, что это не то, на что переносное приложение должно полагаться "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...