CONVERT
Аналог в PostgreSQL:
Преобразует значение в указанный тип данных или строку в другую кодировку.
MySQL 8.1
CONVERT(value, type | value USING charset)Параметры
- value
- Значение для преобразования
- typeключевое слово
- Целевой тип данных, те же типы, что у CAST
- Значения:BINARYCHARDATEDATETIMEDECIMALDOUBLEFLOATJSONNCHARREALSIGNEDTIMEUNSIGNEDYEAR
- USING charsetключевое слово
- Кодировка, в которую перекодируется строка, например utf8mb4
Возвращаемое значение
Значение указанного типа или строка в указанной кодировке; при неудачном преобразовании — 0 или NULL с предупреждением
Примеры
Строка в целое число
MySQL 8.1
SELECT CONVERT('123', SIGNED) + 1 AS number;CONVERT и CAST дают одно и то же
MySQL 8.1
SELECT CONVERT(12005.6, DECIMAL(10, 1)) AS with_convert,
CAST(12005.6 AS DECIMAL(10, 1)) AS with_cast;Двоичная строка в текст
MySQL 8.1
SELECT LOWER(CHAR(72, 105)) AS binary_string,
LOWER(CONVERT(CHAR(72, 105) USING utf8mb4)) AS text_string;Подробности
Форма CONVERT(value, type) работает так же, как CAST(value AS type), и принимает те же типы. Форма с USING меняет кодировку строки и превращает двоичную строку в обычный текст, с которым работают LOWER, UPPER и сравнение без учёта регистра. В PostgreSQL у функции CONVERT другой смысл, вместо неё используют CAST.