Должен ли я использовать cast(x as typename)
или x::typename
в PostgreSQL?PostgreSQL CAST (x AS typename) или x :: typename
Я не смог найти какую-либо документацию для x::typename
версии броска, за исключением одного предложений в documentation (»По умолчанию бросок может быть вызван только запросом явного литым, что является явным CAST (х AS TypeName) или х :: имяТипа построить.»
является единственным отличием, что cast(x as typename)
в sql-standard пока x::typename
нет?
Я предпочитаю x::typename
все время, как он короче.
Да. Различия в typenames делает вопрос о переносе спорный вопрос * во многих случаях *. Однако, если имена типов совместимы между позами и другой СУБД, тогда 'cast' может быть, но' :: 'вряд ли будет. –
Означает ли это, что поддержка '::' может быть удалена в некоторой будущей версии PostgreSQL? Мы не используем другие СУБД, но часто обновляемся до последней версии PostgreSQL. –
Они могут, но я не думаю, что это возможно. Также они, вероятно, сначала откажутся от использования, чтобы дать каждому время обновить код. Также такие изменения будут происходить только в основных версиях, т.е. с 9,2 до 9,3, а не на обновлениях обслуживания. – Eelke