Lebih
Bagaimana mengkonversi VarChar VarChar VarChar VarChar DateTime untuk
Saya bekerja pada sebuah query di Sql Server 2005 di mana saya perlu untuk mengkonversi nilai dalam DateTime
variabel menjadi varchar
variabel yyyy-mm-dd
format (tanpa waktu paruh). Bagaimana saya melakukan itu?
293
22
Berikut ini's beberapa tes sql untuk semua gaya.
Berikut ini's hasilnya
Membuat
nvarchar(max)
yang lebih pendek untuk memangkas waktu. Misalnya:output:
Dengan Microsoft Sql Server:
Coba yang berikut ini:
Untuk tanggal penuh waktu dan tidak hanya saat melakukan:
Lihat halaman ini untuk mengubah gaya:
http://msdn.microsoft.com/en-us/library/ms187928.aspx ATAU SQL Server CONVERT() Fungsi
SQL Server 2012 memiliki fungsi baru , FORMAT: http://msdn.microsoft.com/en-us/library/ee634924.aspx
dan anda dapat menggunakan kustom tanggal, waktu format string: http://msdn.microsoft.com/en-us/library/ee634398.aspx
Halaman ini menyiratkan hal ini juga tersedia di SQL2008R2, tapi aku don't memiliki satu berguna untuk menguji apakah yang's terjadi.
Contoh penggunaan (Australia datetime):
Anda dapat menggunakan
DATEPART(DATEPART, VARIABEL)
. Misalnya:Salah satu
Pemain
atauConvert
:Sintaks untuk
CAST
:Sintaks untuk
MENGUBAH
:http://msdn.microsoft.com/en-us/library/ms187928.aspx
Sebenarnya sejak anda meminta format tertentu:
Dengan Microsoft SQL Server:
Menggunakan Sintaks untuk MENGKONVERSI:
Contoh:
Untuk gaya yang anda dapat menemukan info lebih lanjut di sini: MSDN - Cast dan Mengkonversi (Transact-SQL).
Coba yang berikut ini:
Kemudian anda akan perlu untuk mengganti "." dengan "-".
Berikut ini adalah sebuah situs yang membantu http://www.mssqltips.com/tip.asp?tip=1145
Saya memiliki data tetap panjang
char(10)
seperti yang anda inginkan format string tertentu.Coba:
Lebih lanjut di ms sql tips
Coba SQL ini:
Anda dapat mengkonversi tanggal dalam berbagai format, syntaxe adalah sederhana untuk menggunakan :
Dalam kasus anda, i've hanya dikonversi dan membatasi ukuran nvarchar(10) seperti ini :
Lihat lebih lanjut di : http://www.w3schools.com/sql/func_convert.asp
Solusi lain (jika anda tanggal Datetime) adalah sederhana CAST :
OP disebutkan datetime format. Bagi saya, waktu paruh mendapat di jalan. Saya pikir itu's sedikit cleaner untuk menghapus bagian waktu (oleh casting datetime to date) sebelum memformat.
Untuk SQL Server 2008+ Anda dapat menggunakan dan MENGKONVERSI FORMAT bersama-sama.
Misalnya, untuk gaya Eropa (misalnya Jerman) timestamp:
Ini adalah bagaimana saya melakukannya:
MENGKONVERSI(NVARCHAR(10), DATE1, 103) )
Anda tidak mengatakan yang database, tapi dengan mysql berikut ini adalah cara mudah untuk mendapatkan tanggal dari timestamp (dan varchar jenis konversi harus terjadi secara otomatis):
Singkat dan dengan cara yang paling sederhana adalah :
Menulis fungsi