Не выполняется запрос в dbForge

Обсуждение возникших проблем, предложений и ошибок dbForge for SQL Server
Закрыто
DYUMON
Сообщения: 34
Зарегистрирован: Чт 05 июл 2012 05:21
Откуда: Новосибирск
Контактная информация:

Не выполняется запрос в dbForge

Сообщение DYUMON » Вт 13 янв 2015 05:27

Добрый день.
Использую
dbForgefor SQL Server 4.0.52 и
Microsoft SQL Server 2000 - 8.00.2039 (Intel X86)
SQL Query Analyzer 2000.080.0194.00

в обоих редакторах выполняю простой запрос

Код: Выделить всё

SELECT z.z_vrach  FROM znr z WHERE z.z_date_end BETWEEN '2013-12-01' AND '2013-12-31'
Query Analyzer выводит данные, а dbForgefor выдает ошибку
2 The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value. SQL1.sql 1 1
Как можно заставить dbForgefor SQL Server выполнять запрос корректно?

Alexander

Re: Не выполняется запрос в dbForge

Сообщение Alexander » Вт 13 янв 2015 13:16

Не могли бы Вы прислать CREATE выражение таблицы znr?

Вы можете прислать ответ напрямую в нашу службу поддержки на supportATdevartDOTcom

DYUMON
Сообщения: 34
Зарегистрирован: Чт 05 июл 2012 05:21
Откуда: Новосибирск
Контактная информация:

Re: Не выполняется запрос в dbForge

Сообщение DYUMON » Ср 14 янв 2015 04:07

Примерно такой код создания таблицы

Код: Выделить всё

CREATE TABLE ortop.dbo.znr (
  z_id int IDENTITY,
  z_nn int NULL,
  z_plat int NULL,
  z_date_beg datetime NULL,
  z_date_end datetime NULL,
  z_note1 varchar(100) NULL,
  z_note2 varchar(50) NULL,
  z_vrach int NULL
)
в mssql 2000 нет поля с типом date поэтому пользуюсь datetime

Alexander

Re: Не выполняется запрос в dbForge

Сообщение Alexander » Ср 14 янв 2015 13:00

Данная проблема не связана с dbForge. Пожалуйста, обратитесь к следующей статье за деталями
http://nullpro.info/2012/ms-sql-universal-date-string/

Как вариант, Вы можете воспользоваться функцией CONVERT():

Код: Выделить всё

SELECT
z.z_vrach
FROM znr z
WHERE z.z_date_end BETWEEN CONVERT(DATETIME, '2013-12-01') AND CONVERT(DATETIME, '2013-12-31');

DYUMON
Сообщения: 34
Зарегистрирован: Чт 05 июл 2012 05:21
Откуда: Новосибирск
Контактная информация:

Re: Не выполняется запрос в dbForge

Сообщение DYUMON » Пн 16 фев 2015 06:43

Попробовал данный запрос в EMS SQL Manager. Там он тоже выполнился нормально.
В общем путем проб определил что dbForge нормально работает с такой формой записи.

Код: Выделить всё

SELECT
z.z_vrach
FROM znr z
WHERE z.z_date_end BETWEEN  '20131201' AND  '20131231';
то есть когда дата представлена в формате YYYYMMDD либо в формате DD/MM/DDDD

Alexander

Re: Не выполняется запрос в dbForge

Сообщение Alexander » Пн 16 фев 2015 11:47

Строка, которую Вы преобразовываете к datetime может по-разному интерпретироваться в зависимости от установленного в данный момент языка и set dateformat.

Рекомендуем Вам также обратиться к следующему материалу https://books.google.ru/books?id=b_BXc2 ... md&f=false

Закрыто