Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SQL 2008 Debugger и формат Date  [new]
Михаил Фв
Member

Откуда:
Сообщений: 187
Добрый день всем!

Два элементарных вопроса:

1) Установлен чистый Windows Server 2008 R2 + SQL Server 2008. В SQL Management Studio пишу любой - самый элементарный - запрос (например, use master - CREATE DATABASE TestDatabase), нажимаю кнопку "Debug" - появляется курсор ("крутящееся" колечко) и больше не происходит ничего: ждал минут 5-7... Если вместо Debug нажать Execute - проюлем никаких, работает мгновенно.

Это так должно быть или Debugger не работает?


2) Заполняю таблицу, последнее поле имеет формат Date (как указано здесь: http://msdn.microsoft.com/ru-ru/library/bb630352.aspx) . Пишу:

INSERT Users VALUES (1, 'Ivan', 'Petrov', 1, 2011-04-05)

или

INSERT Users VALUES (1, 'Ivan', 'Petrov', 1, 04-05-2011)

Результат:
"Operand type clash: int is incompatible with date"

- но почему "int" - вводимые данные ведь в формате даты, и поле таблицы имеет формат Date???
27 окт 11, 11:24    [11507418]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008 Debugger и формат Date  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Михаил Фв
- но почему "int" - вводимые данные ведь в формате даты, и поле таблицы имеет формат Date???
Потому что надо перечислять поля у таблицы, куда вы вставляете данные.
27 окт 11, 11:26    [11507437]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008 Debugger и формат Date  [new]
iljy
Member

Откуда:
Сообщений: 8711
Михаил Фв
Добрый день всем!

Два элементарных вопроса:

1) Установлен чистый Windows Server 2008 R2 + SQL Server 2008. В SQL Management Studio пишу любой - самый элементарный - запрос (например, use master - CREATE DATABASE TestDatabase), нажимаю кнопку "Debug" - появляется курсор ("крутящееся" колечко) и больше не происходит ничего: ждал минут 5-7... Если вместо Debug нажать Execute - проюлем никаких, работает мгновенно.

Это так должно быть или Debugger не работает?

У меня работает. Полную версию студии и сервера покажите.


Михаил Фв

2) Заполняю таблицу, последнее поле имеет формат Date (как указано здесь: http://msdn.microsoft.com/ru-ru/library/bb630352.aspx) . Пишу:

INSERT Users VALUES (1, 'Ivan', 'Petrov', 1, 2011-04-05)

или

INSERT Users VALUES (1, 'Ivan', 'Petrov', 1, 04-05-2011)

Результат:
"Operand type clash: int is incompatible with date"

- но почему "int" - вводимые данные ведь в формате даты, и поле таблицы имеет формат Date???

Потому что данные у вас не дата, а выражение над числами. В кавычки возьмите.
27 окт 11, 11:35    [11507502]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008 Debugger и формат Date  [new]
Михаил Фв
Member

Откуда:
Сообщений: 187
iljy,

"Потому что данные у вас не дата, а выражение над числами. В кавычки возьмите. " - извиняюсь, они в кавычках - забыл их тут написать: INSERT Users VALUES (1, 'Ivan', 'Petrov', 1, 2011-04-05)


Версия сервера/студии:

Microsoft SQL Server Management Studio 10.0.1600.22 ((SQL_PreRelease).080709-1414 )
Microsoft Analysis Services Client Tools 2007.0100.1600.022 ((SQL_PreRelease).080709-1414 )
Microsoft Data Access Components (MDAC) 6.1.7601.17514 (win7sp1_rtm.101119-1850)
Microsoft MSXML 3.0 6.0
Microsoft Internet Explorer 8.0.7601.17514
Microsoft .NET Framework 2.0.50727.5420
Operating System 6.1.7601


Насчёт "Потому что надо перечислять поля у таблицы, куда вы вставляете данные." не понял: зачем их перечислять??? Они, по крайней мере, при такой записи, сами в соответсвующие столбцы записываются. Проблема только с датой...

Проверял так:
select ISDATE('2004-04-05') AS "YYYY/MM/DD" - "говорит", что 1 (т.е. это дата), а при добавлении в поле таблицы "говорит" - это int...

Попробую, конечно, с перечислением имён столбцов, но, думаю, дело не в этом...

Всем спасибо!!!
27 окт 11, 11:57    [11507696]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008 Debugger и формат Date  [new]
iljy
Member

Откуда:
Сообщений: 8711
Михаил Фв,

во-первых - пропатчите студию и сервер. Во-вторых - вы в селекте строку указываете, а в инсерте - по прежнему выражение над числами, чему вы удивляетесь-то?
27 окт 11, 12:01    [11507736]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008 Debugger и формат Date  [new]
iljy
Member

Откуда:
Сообщений: 8711
Михаил Фв,

и кстати версию сервера нвы не привели. SELECT @@VERSION
27 окт 11, 12:02    [11507741]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008 Debugger и формат Date  [new]
Михаил Фв
Member

Откуда:
Сообщений: 187
iljy,

...опять забыл:

INSERT Users VALUES (1, 'Ivan', 'Petrov', 1, '2011-04-05') = ошибка!

Server: Win2008R2, SQL 2008
27 окт 11, 13:21    [11508582]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008 Debugger и формат Date  [new]
iljy
Member

Откуда:
Сообщений: 8711
Михаил Фв,

какая ошибка-то? И используйте языковонезависымый формат даты (например yyyymmdd).
И версию сервера озвучьте наконец.
27 окт 11, 13:28    [11508654]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008 Debugger и формат Date  [new]
Михаил Фв
Member

Откуда:
Сообщений: 187
iljy,

select @@version

Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (X64) Jul 9 2008 14:17:44 Copyright (c) 1988-2008 Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

...сильно извиняюсь...и правда кавычки забыл - вопрос 1 решён, спасибо!!!

А debugger даже вот эту строку проверяет бесконечно:

select ISDATE('2004-12-01') AS "YYYY/MM/DD"

Попробую, конечно, обновления/другую версию поставить, но, мне кажется, кнопка на панели должна в любой версии работать...
27 окт 11, 13:46    [11508834]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить