Мне нужно передать значение ниже по течению от базы данных SQL Server
, которая по существу является разницей между двумя timestamps
. Это достаточно просто с функцией DATEDIFF
.SQL - DATEDIFF с подзапросом
SELECT DATEDIFF(day, '2015-11-06 00:00:00.000','2015-12-25 00:00:00.000') AS DiffDate ;
Однако во время передачи значения вниз код знает только идентификатор заказа, а не 2 метки времени, показанные выше. Поэтому мне нужна информация timestamp
, чтобы получить из подзапроса или что-то еще, что я думаю. Основные гайки и болты подзапросом здесь:
select O.DATE1 , C.DATE2
from TABLE1 O, TABLE2 C
WHERE O.VALUE1_ID = C.VALUE1
AND O.order_id = '12345678'
Я попробовал несколько различных способов, однако ни один не был sucesfull. Последний Я устал ниже, что с точки зрения синтаксиса выглядит хорошо, но я получаю сообщение об ошибке:
Conversion failed when converting date and/or time from character string
, который я никогда не слишком уверен, как справиться или иметь дело с.
select DATEDIFF (day,'(select O.VALUE1
from TABLE1 O
where O.VALUE1 = 16650476)' ,
'(SELECT C.VALUE1
from TABLE1 O, TABLE2 C
WHERE O.VALUE1 = C.VALUE2 AND O.order_id = 12345678)') AS DIFFDATE;
Любые указатели или помощь будут оценены.
Пожалуйста, отредактируйте ваш вопрос с данными примера и желаемыми результатами. Образцы кода действительно не помогают передать то, что вы пытаетесь сделать. –
.. желательно с помощью операторов ddl + dml для данных образца, чтобы мы могли [скриптировать] (http://sqlfiddle.com/). –