0

BMCRemedyのARSystemsから見つけたドキュメントによると、MSSQL Server環境(ここではSQL Server 2005を使用)のタイムスタンプは、UNIXタイムスタンプ形式のintデータ型として格納されます。

Business Objects Web IntelligenceでカスタムSQLを取得して、このタイムスタンプをmm / dd / yyyy形式に変換することはできません。これは、レコードを日付でグループ化できる必要があります(明らかにタイムスタンプなし)。数学やデータ型の変換を含めて私がやろうとすると、「無効な型」エラーがスローされます。フィールドをint、varchar、datetimeなどに変換できません。動作する唯一の関数はDATEADDであり、これは引き続き完全なタイムスタンプを返します。

どうすればこれを変換できますか?私はここでおかしくなります!

4

4 に答える 4

3

GMT/UTC/Zulu をローカル タイム ゾーン (EDT/New York) に変換するには:

DATEADD(hour,-5,DATEADD(s,Last_Modified_Date,'1/1/1970 00:00:00'))

Remedy 仕事情報エントリ (Transact-SQL) を表示するための使用例:

SELECT Work_Log_ID, DATEADD(hour, +12, DATEADD(s, Last_Modified_Date, '1/1/1970 00:00:00')) as Last_Modified_Date , Description, Detailed_Description, Infrastructure_change_ID, Number_of_Attachments 
FROM dbo.CHG_WorkLog
  WHERE Infrastructure_Change_ID = 'CRQ001261'
  ORDER BY Work_Log_ID desc
于 2012-07-26T01:06:37.617 に答える
0

に移動

ユーザーツール->ツール->オプション->ロケールタブ->日付/時刻スタイル->カスタムフォーマット->mm/ dd / yyyy

于 2012-05-02T19:00:40.093 に答える
0

intタイムスタンプに1000を掛ける必要があるかもしれません。ARシステムは日付を「秒」の数として保存しますが、他のほとんどの言語はunixタイムスタンプをミリ秒(およびlongデータ型)として保存します。

お役に立てば幸いです。

于 2011-10-05T23:34:01.310 に答える
0

なぜこれが機能しないのですか?

DECLARE @timestamp INT

SELECT @timestamp =  DATEDIFF(s,'1/1/1970 00:00:00',GETDATE())

SELECT DATEADD(s,@timestamp,'1/1/1970 00:00:00')

@Timestamp をテーブルの値に置き換えます。

于 2011-10-04T17:51:27.877 に答える