Указывает ли CAST от целого числа к текстовому сопоставлению c? - PullRequest
1 голос
/ 06 августа 2020

Если я использую приведение integer к строковому типу, например cast(phone as text), есть ли теоретическая вероятность того, что полученная строка может отличаться в зависимости от сопоставления базы данных?

Другими словами, может результат зависит от добавленного предложения COLLATE (особенно для целых чисел):

select cast(q as text) COLLATE "somecollation";

1 Ответ

2 голосов
/ 06 августа 2020

Нет, COLLATION не имеет никакого отношения к изменению от int до text. Результирующее значение всегда одно и то же.

Однако COLLATION действительно влияет на то, как то же самое значение text впоследствии будет отсортировано или обработано в регулярных выражениях. Если вы присоедините к приведению предложение COLLATE (или любое выражение , возвращающее строковый тип), сопоставление будет придерживаться значения до тех пор, пока присвоение или следующее выражение не может его изменить.

Руководство:

Функция сопоставления позволяет указать порядок сортировки и поведение классификации символов данных для каждого столбца или даже операции [...]

...