-3

クエリの実行中に、「文字列から日付や時刻を変換すると変換に失敗しました」というエラーが表示されました。これがクエリです。

select OrderLog_Initiated, OrderLog_SessionDateTime 
into #FullMemberOrderLog
from tbl_orderlog   
where CONVERT(date,OrderLog_Initiated) between '2013-03-03' and '2013-03-08' -- order     by OrderLog_Initiated     

insert into #FullMemberOrderLog 
select OrderLog_Initiated, OrderLog_SessionDateTime 
from tbl_orderlog 
where CONVERT(date,OrderLog_Initiated) between '2013-03-03' and '2013-03-08'
select #result = (cast(DATEDIFF(HOUR,CONVERT(date,'OrderLog_Initiated'),CONVERT(date,'OrderLog_SessionDateTime' )) as float) ) from  #FullMemberOrderLog 

親切にも誰かがこの問題で私を助けてくれます、本当に私は揚げています...私の期待される結果は'OrderLog_Initiated'テーブルを'OrderLog_SessionDateTime'テーブルと比較し、時間の時間差を提供します、しかし私は期待したものを得ることができません。親切に誰かが私を助けてくれて、本当にありがとうございました。

4

1 に答える 1

0

あなたが言っています:

CONVERT(date,'OrderLog_Initiated')

試す:

CONVERT(date,OrderLog_Initiated)

(列名を一重引用符で囲むことはできません。それ以外の場合は、単に文字列として扱われます。)

また、まったく同じクエリでaSELECT INTOと an の両方を実行するのはなぜですか? INSERT INTO一つを選ぶ。

そして最後に、なぜあなたはこう言っているのですか:

SELECT #result = 

それ以外の:

SELECT result = 

?

于 2013-03-19T14:12:38.363 に答える