Являются ли CAST и CONVERT одинаковыми в SQL?
Возможный дубликат:
T-SQL Cast versus Convert
В чем заключается основное различие между CAST
и CONVERT
в SQL, и оба выполняют преобразование типа данных?
Ответы
Ответ 1
CAST и CONVERT имеют схожие функции. CONVERT специфичен для SQL Server и обеспечивает большую гибкость при преобразовании значений даты и времени, дробных чисел и денежных знаков. CAST - это больше ANSI-стандарт двух функций. Проверьте этот блог на примерах использования обоих из них: http://sqltutorials.blogspot.com/2007/06/sql-cast-and-convert.html
Ответ 2
Функция convert
может выполнять более сложные преобразования, например преобразование значения datetime
в varchar
с использованием определенного формата:
convert(varchar(16), dateTimeValue, 120)
Ответ 3
Предполагая, что вы говорите о SQL Server.
От http://msdn.microsoft.com/en-us/library/ms187928.aspx и http://msdn.microsoft.com/en-us/library/aa226054(v=sql.80).aspx
Явно преобразует выражение одного типа данных в другое. CAST и CONVERT предоставляют аналогичную функциональность.
Так что да, они функционально одинаковы. У них просто есть другой синтаксис, который позволяет более сложные преобразования или (субъективно) улучшенную читаемость.