Использование функции CONVERT
При использовании функции CONVERT СУБД Microsoft SQL Server нужно научиться правильно определять формат во избежание путаницы в момент интерпретации результирующих данных. К примеру, для отображения даты в формате, принятом в США (месяц день год час:минута:секунда), можно использовать следующий запрос. Формат того же выходного набора данных можно привести в соответствие с японским (год/месяц/год) и получить его с помощью следующего запроса. Третий параметр в продемонстрированном выше программном коде (111) определяет формат вывода. Некоторые из полезных кодов форматов, применяемых в функции CONVERT (Microsoft SQL Server), приведены Последний столбец таблицы (Вход/выход) Представляет Вход при преобразовании в тип данных даты-времени или Выход при преобразовании даты-времени в символьную строку.
Формат 126 был специально создан для использования с XML, а формат Хиджра представляет собой традиционную систему летоисчисления исламского календаря, существующую в различных вариациях (в Microsoft SQL Server 2008 используется Кувейтский алгоритм). По умолчанию в Microsoft SQL Server 2008 двузначные года интерпретируются как усеченные на основе года 2049. Это значит, что год 49 будет интерпретирован как 2049, в то время как год 50 будет расценен как 1050. Такой порядок несовместим с некоторыми другими приложениями (к примеру, с пакетом Microsoft Office), берущими за основу год 2030. Во избежание недоразумений настоятельно рекомендуется использовать полные, четырехзначные номера годов. Oracle предлагает множество форматов преобразования символов в числа и наоборот. В табл. 10.12 перечислено несколько наиболее распространенных форматов.