CONVERT
Аналог в PostgreSQL:
Преобразует значение в указанный тип данных или строку в другую кодировку.
MySQL 8.4
CONVERT(value {, type | USING charset})- { a | b }один из вариантов
- value
- Значение для преобразования
- type
- Целевой тип данных, те же типы, что у CASTКлючевое словоBINARYCHARDATEDATETIMEDECIMALDOUBLEFLOATJSONNCHARREALSIGNEDTIMEUNSIGNEDYEAR
- USING charset
- Перекодировать строку в другую кодировку
- charset
- Кодировка, например utf8mb4Ключевое словоarmscii8asciibig5binarycp1250cp1251cp1256cp1257cp850cp852cp866cp932dec8eucjpmseuckrgb18030gb2312gbkgeostd8greekhebrewhp8keybcs2koi8rkoi8ulatin1latin2latin5latin7maccemacromansjisswe7tis620ucs2ujisutf16utf16leutf32utf8mb3utf8mb4
Возвращаемое значение
Значение указанного типа или строка в указанной кодировке; при неудачном преобразовании — 0 или NULL с предупреждением
Примеры
Строка в целое число
MySQL 8.4
SELECT CONVERT('123', SIGNED) + 1 AS number;CONVERT и CAST дают одно и то же
MySQL 8.4
SELECT CONVERT(12005.6, DECIMAL(10, 1)) AS with_convert,
CAST(12005.6 AS DECIMAL(10, 1)) AS with_cast;Двоичная строка в текст
MySQL 8.4
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.