it-swarm-id.com

Bagaimana mengkonversi int to date di SQL Server 2008

Saya menggunakan MS SQL Server 2008 ,. integer date ke dalam format datetime yang tepat?

9
Vikrant More

Anda tidak bisa mengonversi nilai integer langsung ke tanggal tetapi Anda bisa pertama kali ke suatu datetime kemudian ke tipe tanggal

select cast(40835 as datetime)

dan kemudian mengonversi ke tanggal (SQL 2008)

select cast(cast(40835 as datetime) as date)

tepuk tangan

16
davey

Anda harus terlebih dahulu mengubahnya menjadi datetime, kemudian tanggal.

Coba ini, ini mungkin membantu:

Select Convert(DATETIME, LEFT(20130101, 8))

lalu konversikan ke tanggal.

3
Nikhil Gutha

Anda kemungkinan besar ingin memeriksa dokumentasi untuk fungsi T/SQL CAST dan CONVERT, terdapat dalam dokumentasi di sini: http://msdn.Microsoft.com/en-US/library/ms187928(v=SQL .90) .aspx

Anda kemudian akan menggunakan salah satu dari fungsi-fungsi itu dalam kueri T-SQL Anda untuk mengonversi kolom [idate] dari database menjadi format datetime sesuai dengan keinginan Anda pada output.

1
condiosluzverde

Jika integer Anda adalah stempel waktu dalam milidetik, gunakan:

SELECT strftime("%Y-%d-%m", col_name, 'unixepoch') AS col_name

Ini akan memformat milidetik ke string yyyy-mm-dd.

0
Vitaliy A

Membaca ini membantu memecahkan masalah yang sama. Data dalam tipe data desimal - [DOB] [desimal] (8, 0) BUKAN NULL - misalnya - 19700109. Saya ingin mendapatkan pada bulan tersebut. Solusinya adalah menggabungkan SUBSTRING dengan CONVERT ke VARCHAR.

    SELECT [NUM]
       ,SUBSTRING(CONVERT(VARCHAR, DOB),5,2) AS mob
    FROM [Dbname].[dbo].[Tablename]