SQL предоставляет две основные функции для преобразования типов данных: CAST и CONVERT. Обе преобразуют значение из одного типа данных в другой, но отличаются синтаксисом и гибкостью.
CAST следует стандарту ANSI SQL, что делает её переносимой между большинством СУБД.
Синтаксис:
CAST(expression AS target_data_type)
Пример — преобразование цены из decimal в integer:
SELECT CAST(price AS INT) FROM products;
CONVERT в основном используется в SQL Server и предлагает дополнительный параметр style, который особенно полезен для форматирования дат и времени.
Синтаксис:
CONVERT(target_data_type, expression, style)
Пример — преобразование даты в американский формат (MM/DD/YYYY):
SELECT CONVERT(VARCHAR, order_date, 101) FROM orders;
CAST — это стандартный SQL и работает в большинстве баз данных; CONVERT привязана к SQL ServerCONVERT поддерживает коды стилей для гибкого вывода дат; CAST — нетCAST использует ключевое слово AS; CONVERT использует аргументы, разделённые запятымиCAST, когда совместимость между разными базами данных — приоритетCONVERT в SQL Server, когда нужно специфическое форматирование даты/времениINT, VARCHAR, DECIMAL, DATEФункция CAST соответствует стандарту ANSI SQL, что делает её предпочтительным выбором для совместимости между базами данных, в то время как CONVERT специфична для SQL Server.
Новый — ещё не проверен сообществом
Вы