Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Работа с датами в SQL Server 2005  [new]
Mr. Abdu Jan
Member

Откуда:
Сообщений: 55
Привет всем...
У мя тут есть такая проблема... Я написал следующий запрос:

DECLARE @qwe CHAR(19) 
SET @qwe = '2012-03-19 15:25:39' 
IF @qwe = '<Null>' 
BEGIN 
SET @qwe = Null 
END 
ELSE 
SET @qwe = @qwe 
INSERT INTO test(datetime1) VALUES(@qwe)


Выводит такую ошибку:
Msg 242, Level 16, State 3, Line 9
Преобразование типа данных char в тип данных datetime привело к значению datetime за пределами диапазона.
Выполнение данной инструкции было прервано.


Что нужно делать?
17 апр 12, 15:54    [12428339]     Ответить | Цитировать Сообщить модератору
 Re: Работа с датами в SQL Server 2005  [new]
iljy
Member

Откуда:
Сообщений: 8711
Mr. Abdu Jan,

DECLARE @qwe CHAR(19) 
SET @qwe = '20120319 15:25:39' 
SET @qwe = NULLIF(@qwe, '<Null>' )
17 апр 12, 15:56    [12428359]     Ответить | Цитировать Сообщить модератору
 Re: Работа с датами в SQL Server 2005  [new]
Glory
Member

Откуда:
Сообщений: 104751
Mr. Abdu Jan
Что нужно делать?

Изучить и использовать функцию CONVERT()
17 апр 12, 15:56    [12428362]     Ответить | Цитировать Сообщить модератору
 Re: Работа с датами в SQL Server 2005  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
Mr. Abdu Jan, прочитать справку про CAST/CONVERT и использовать не зависящие от региональных настроек и языка виды преобразования, а это (по памяти): 112 и 126
17 апр 12, 15:57    [12428363]     Ответить | Цитировать Сообщить модератору
 Re: Работа с датами в SQL Server 2005  [new]
Mr. Abdu Jan
Member

Откуда:
Сообщений: 55
iljy
Mr. Abdu Jan,

DECLARE @qwe CHAR(19) 
SET @qwe = '20120319 15:25:39' 
SET @qwe = NULLIF(@qwe, '<Null>' )



Я работаю в VBA и не могу добавить массив даты в таблицу..
Массив имеет такие значении: 20120319 15:25:39, и <Null>... Не знаете как?
17 апр 12, 16:16    [12428525]     Ответить | Цитировать Сообщить модератору
 Re: Работа с датами в SQL Server 2005  [new]
Glory
Member

Откуда:
Сообщений: 104751
Mr. Abdu Jan
Я работаю в VBA и не могу добавить массив даты в таблицу..

'20120319 15:25:39' - это строка. А вовсе не дата
Используйте параметры соответствующего типа
17 апр 12, 16:17    [12428541]     Ответить | Цитировать Сообщить модератору
 Re: Работа с датами в SQL Server 2005  [new]
Mr. Abdu Jan
Member

Откуда:
Сообщений: 55
Glory
Mr. Abdu Jan
Я работаю в VBA и не могу добавить массив даты в таблицу..

'20120319 15:25:39' - это строка. А вовсе не дата
Используйте параметры соответствующего типа


ээээээээээ ошибка.. извините...
DECLARE @qwe CHAR(19); 
SET @qwe = '2012-03-19 14:55:09';
SET @qwe = NULLIF(@qwe, '<Null>');
INSERT INTO test(datetime1) VALUES(@qwe);
17 апр 12, 16:25    [12428591]     Ответить | Цитировать Сообщить модератору
 Re: Работа с датами в SQL Server 2005  [new]
Mr. Abdu Jan
Member

Откуда:
Сообщений: 55
Всем спасибо я нашел выход.. оказывается так:

DECLARE @qwe CHAR(19); 
SET @qwe = '<Null>'; 
SET @qwe = NULLIF(@qwe, '<Null>'); 
INSERT INTO test(datetime1) VALUES(CONVERT(datetime,@qwe,120))
17 апр 12, 19:57    [12429714]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить