Технологии

Ввод даты в поле с типом DATETIME в MS SQL SERVER 20005? - вопрос №422555

Такая беда!!! В MS SGL SERVER 2005 ввожу запросом дату в поле с типом данных DATETIME (например 23/09/1964), а на выходе в таблице получаю либо 01.01.1900 либо вообще какой-нибудь другой год и дату… Что это? Как мне ввести нужную мне дату? UPDATE Клиенты SET Дата_рождения = 23/09/1964 WHERE фамилия = 'Иванов';

октябрь 13, 2012 г.

  • Всего ответов: 2

  • Андрей FaceOff - аватарка

    Андрей FaceOff

    1-й в Технологиях

    При использовании в качестве языковой настройки us_english порядком по умолчанию для даты является mdy (МДГ). Порядок даты можно изменить при помощи инструкции SET DATEFORMAT.

    Установка для SET DATEFORMAT определяет, как будут интерпретированы значения дат. Если порядок не соответствует параметру, значения не рассматриваются как даты, поскольку находятся вне допустимого диапазона... 

    источник

    попробуйте 09/23/1964

    или освойте явное назначение форматов даты с помощью SET DATEFORMAT

    октябрь 13, 2012 г.
  • Виктор Евгеньевич - аватарка

    Виктор Евгеньевич

    17-й в Технологиях

    Для типа datetime нужно указывать еще и время.

    И самое важное — дата должна быть в кавычках, т.к. на входе — это СТРОКА.

    Т.е. правильно так:

    UPDATE Клиенты SET Дата_рождения = '23/09/1964 00:00' WHERE фамилия = 'Иванов';

    или вот так

    UPDATE Клиенты SET Дата_рождения = '23-09-1964 00:00' WHERE фамилия = 'Иванов';

    октябрь 14, 2012 г.

Похожие вопросы

Решено

Помогите! чем открыть файл *.zsp

октябрь 30, 2012 г.

Технологии

Создание БД с нуля.

март 15, 2012 г.

Технологии