Сервис для
сео - оптимизаторов

Найди ошибки на сайте
Ошибки мешают продвижению сайта
Исправь ошибки на сайте
Сайт без ошибок продвигать легче
Получи новых клиентов
Новые клиенты принесут больше прибыль

Не используйте функцию ISDATE () для проверки действительной даты - блоги, события, веб-трансляции, видео, видео и обучение по SQL Server.

  1. Не используйте функцию ISDATE () для проверки действительной даты Я получил следующее электронное...

Не используйте функцию ISDATE () для проверки действительной даты

Я получил следующее электронное письмо от одного из моих товарищей по команде о функции ISDATE ().

Спасибо ему за то, что задали мне вопрос. Я не имею никакого представления об этом поведении сервера SQL. Я просмотрел документацию MSDN и узнал, почему SQL Server ведет себя так.

select ISDATE ('08 / 16/013 ′) возвращает true, потому что здесь он обрабатывает '08 / 16/013 ′ как тип даты и времени (где часть времени равна '00: 00: 00.000 ', что необязательно в типе данных datetime) Но когда вы используйте select Convert (date, '08 / 16/013 ′), '08 / 16/013 ′ не является допустимым форматом даты, это действительный формат даты и времени.

Тип данных даты поддерживает только 2 цифры или 4 цифры года. Так что вместо этого вы используете

выберите Convert (дата, '08 / 16/13 ′) или выберите Convert (дата, '08 / 16/2013 ′).

Тип данных даты поддерживает только двухзначные или четырехзначные строковые литералы года, тогда как для типа данных datetime нет ограничений, подобных типу даты. Строковый литерал будет разделителем чисел разделителем чисел разделителем чисел [время] [временем], и он проверяется на основе того, какой формат даты установлен для экземпляра.

Ниже приводится выдержка из MSDN :

Поддерживаемые строковые литеральные форматы на дату

Поделитесь этой историей, выберите свою платформу!

Сандип Пани (Sandip Pani) - разработчик и спикер базы данных / BI, находится в Бангалоре, Индия. Он работает с SQL Server более 11 лет. Он является MCITP для SQL Server 2008 и специализируется на SQL Server для разработчиков приложений и производительности и настройки запросов. Его специализация - настройка запросов и устранение неполадок производительности. Он работает старшим техническим специалистом NextGen Healthcare. Он активен в мире сообщества SQL. Он делится и расширяет свои знания SQL Server, проводя время в группах новостей и форумах, читая и писать блоги, а также посещая конференции и выступая на них.