私はMS SQL Server 2008を使用しており、表には日付としてidate列がありますが、整数形式です。しかし、クエリでは、日付形式で必要です。整数の日付を適切な日時形式に変換することは可能ですか?
整数値を直接日付に変換することはできませんが、最初に日付時刻に変換してから日付型に変換することはできます
select cast(40835 as datetime)
日付に変換します(SQL 2008)
select cast(cast(40835 as datetime) as date)
乾杯
最初に日付時刻に変換してから、日付に変換する必要があります。
これを試してください、それは役に立つかもしれません:
Select Convert(DATETIME, LEFT(20130101, 8))
その後、日付に変換します。
ほとんどの場合、T-SQLのCASTおよびCONVERT関数のドキュメントを調べる必要があります。次のドキュメントにあります。 http:// msdn .Microsoft.com/en-US/library/ms187928(v = SQL.90).aspx
次に、T-SQLクエリでこれらの関数のいずれかを使用して、データベースの[idate]列を出力の好みの日時形式に変換します。
あなたの整数がミリ秒単位のタイムスタンプである場合:
SELECT strftime("%Y-%d-%m", col_name, 'unixepoch') AS col_name
ミリ秒をyyyy-mm-dd文字列にフォーマットします。
これを読むと、同様の問題を解決するのに役立ちます。データは10進数データ型です-[DOB] [decimal](8、0)NOT NULL-例-19700109。月に取得したいです。解決策は、SUBSTRINGとCONVERT to VARCHARを組み合わせることです。
SELECT [NUM]
,SUBSTRING(CONVERT(VARCHAR, DOB),5,2) AS mob
FROM [Dbname].[dbo].[Tablename]