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

Откуда: Днепропетровск
Сообщений: 31
Добрый день всем, я новичок в запросах, по этому прошу с меня сильно не гнать) И так информация в столбце lastexportdate например "2014-05-19 08:00:00" в столбце orderDate(находится в другой таблице) формат даты аналогичен этому - "2014-05-19". Мне нужно выбирать период например с "2014-05-19 08:00:00" по "2014-05-19 12:00:00" для этого я использую
- left join plannedShift p010 on plannedShift.id_shift = p010.id_shift
and p010.lastExportDate between cast(cast(orderDate as nvarchar) + '08:00:00' as datetime)
and cast(cast(orderDate as nvarchar) + '21:00:00' as datetime)
При попытки воспроизведение - Conversion failed when converting date and/or time from character string.
Прошу советов как можно сделать по другому.
19 май 14, 13:42    [16036374]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка преобразования  [new]
TempFox
Guest
Посмотрите соседнюю ветку Задача ограничения, на временной интервал.
19 май 14, 13:45    [16036407]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка преобразования  [new]
Shakill
Member

Откуда: мск
Сообщений: 1880
Yura1989, а вы пытались посмотреть на окончательную строку, которую пытаетесь преобразовывать в datetime? может, там пробела не хватает или еще что
19 май 14, 13:46    [16036414]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка преобразования  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Для начала хорошо бы оформить вопрос как положено.
SQL Server Version, CREATE TABLE, ...

Непонятен так же пассаж "формат даты аналогичен этому"
19 май 14, 13:52    [16036465]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка преобразования  [new]
Кот Матроскин
Member

Откуда: Москва
Сообщений: 8933
Yura1989,

начнем с того, что
cast(orderDate as nvarchar) )  

уже выводит строку со временем, типа "Mar 1 2014 12:00AM" и к этой строке Вы пытаетесь приклеить свои '08:00:00'
нужно использовать не cast, а convert и указывать маску, типа
convert (datetime, convert(nvarchar(30),Orderdate , 103 ) + ' 08:00:00')
19 май 14, 13:54    [16036490]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка преобразования  [new]
Yura1989
Member

Откуда: Днепропетровск
Сообщений: 31
Кот Матроскин, сейчас попробую, спасибо.
19 май 14, 13:59    [16036537]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить