( ) データ型としてかなり前にプログラムされた日付列がありますnumeric(17,9), not null
(例: 20130623.1434480600)。送信されるレポートは、1 日前に自動的に行われた結果のみで構成されるため、当日の前日のデータと UserCode=Automation のみに関心があります。特定のユーザー要件とともに、次のクエリを使用してDateTime
関数 ( )に変換しました。6/23/2013 10:34:48
これは、Date
列の下に表示されます。2013-06-23 16:54:56.993
私はこのクエリを思いつきましたが、いくつかのエラーが発生しています:
SELECT
CAST (DATEADD(HOUR,-4,CONVERT(DATETIME,LEFT([Date],8)+' '+
SUBSTRING([Date],10,2)+':'+
SUBSTRING([Date],12,2)+':'+
SUBSTRING([Date],14,2)+'.'+
SUBSTRING([Date],15,3))) AS DATE) 'Date',
LEFT(CAST(DATEADD(HOUR,-4,CONVERT(DATETIME,LEFT([DATE],8)+' '+
SUBSTRING([Date],10,2)+':'+
SUBSTRING([Date],12,2)+':'+
SUBSTRING([Date],14,2)+'.'+
SUBSTRING([DATE],15,3))) AS TIME,8) 'Time',
[Object] AS [Dataset],
SUBSTRING(Parms,1,6) AS [Media]
FROM (Select CONVERT(VARCHAR(18),[Date]) [Date],
[Object],
MsgID,
Parms
FROM JnlDataSection
WHERE CAST(substring(convert(varchar(50), [Date]), 0, 5) + '-' +
substring(convert(varchar(50), [Date]), 5, 2) + '-' +
substring(convert(varchar(50), [Date]), 7, 2) AS DATETIME))) A
Where MsgID = '325' AND
SUBSTRING(Parms,1,6) = 'V40449'
Order By Date DESC;
エラー:
メッセージ 102、レベル 15、状態 1、行 11 「,」付近の構文が正しくありません。メッセージ 4145、レベル 15、状態 1、行 21 ')' の近くで条件が予想されるコンテキストで指定された非ブール型の式。必要な出力:
- 最初の列: 日付:
2013-06-23
- 2 列目: 時間:
16:54
必要な出力を取得する方法について、現在のコードに何か提案をすることはできますか?
それは大歓迎です。