Mengubah format Tanggal menjadi DD/MM/YYYY format di SQL Server

Saya memiliki query di sql, saya telah mendapatkan tanggal dalam format dd/mm/yy

Contoh: 25/jun/2013.

Bagaimana saya bisa mengubahnya untuk SQL server?

Mengomentari pertanyaan (4)
Larutan

I'm tidak yakin ada kecocokan yang tepat untuk format yang anda inginkan. Tapi anda bisa mendapatkan dekat dengan convert() dan gaya 106. Kemudian, ganti spasi:

SELECT replace(convert(NVARCHAR, getdate(), 106), ' ', '/')
Komentar (2)

Sudah ada beberapa jawaban dan jenis format untuk SQL server 2008. Tetapi metode ini agak ambigu dan itu akan sulit bagi anda untuk mengingat nomor sehubungan dengan Format Tanggal Tertentu. Yang's mengapa dalam versi berikutnya dari SQL server ada pilihan yang lebih baik.

Jika anda menggunakan SQL Server 2012 atau versi di atas, anda harus menggunakan Format() function

FORMAT ( value, format [, culture ] )

Dengan budaya pilihan, anda dapat menentukan tanggal yang sesuai dengan pemirsa anda.

DECLARE @d DATETIME = '10/01/2011';
SELECT FORMAT ( @d, 'd', 'en-US' ) AS 'US English Result'
      ,FORMAT ( @d, 'd', 'en-gb' ) AS 'Great Britain English Result'
      ,FORMAT ( @d, 'd', 'de-de' ) AS 'German Result'
      ,FORMAT ( @d, 'd', 'zh-cn' ) AS 'Simplified Chinese (PRC) Result'; 

SELECT FORMAT ( @d, 'D', 'en-US' ) AS 'US English Result'
      ,FORMAT ( @d, 'D', 'en-gb' ) AS 'Great Britain English Result'
      ,FORMAT ( @d, 'D', 'de-de' ) AS 'German Result'
      ,FORMAT ( @d, 'D', 'zh-cn' ) AS 'Chinese (Simplified PRC) Result';

US English Result Great Britain English Result  German Result Simplified Chinese (PRC) Result
----------------  ----------------------------- ------------- -------------------------------------
10/1/2011         01/10/2011                    01.10.2011    2011/10/1

US English Result            Great Britain English Result  German Result                    Chinese (Simplified PRC) Result
---------------------------- ----------------------------- -----------------------------  ---------------------------------------
Saturday, October 01, 2011   01 October 2011               Samstag, 1. Oktober 2011        2011年10月1日

Untuk OP's solusi, kita dapat menggunakan format berikut ini, yang telah disebutkan oleh @Martin Smith:

FORMAT(GETDATE(), 'dd/MMM/yyyy', 'en-us')

Beberapa contoh format tanggal:

Jika anda ingin lebih banyak format tanggal dari SQL server, anda harus mengunjungi:

  1. [Custom Format Tanggal dan Waktu](https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs. 110).aspx)
  2. [Standar Tanggal dan Waktu Format](https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs. 110).aspx)
Komentar (0)

kita dapat mengkonversi tanggal dalam berbagai format seperti

SELECT convert(varchar, getdate(), 106)

Ini kembali dd mon yyyy

Lebih lanjut di Sini hal Ini dapat membantu anda

Komentar (0)

Jawaban yang diterima sudah memberikan solusi terbaik dengan menggunakan built dalam format metode pada tahun 2008.

Perlu dicatat bahwa hasil yang dikembalikan adalah tergantung pada bahasa yang masuk namun.

SET language Russian

SELECT replace(CONVERT(NVARCHAR, getdate(), 106), ' ', '/') 

Kembali

06/апр/2015

pada saat penulisan.

Untuk orang-orang yang datang di pertanyaan ini pada versi yang lebih baru dari SQL Server metode yang menghindari masalah ini - dan kebutuhan untuk MENGGANTIKAN adalah

FORMAT(GETDATE(),'dd/MMM/yyyy', 'en-us')

Pada tahun 2005+ ini akan menjadi mungkin untuk menulis CLR UDF yang diterima DateTime, Format Pola dan Budaya untuk mensimulasikan sama.

Komentar (0)

Coba gunakan query di bawah ini.

SELECT REPLACE(CONVERT(VARCHAR(11),GETDATE(),6), ' ','/');  

Hasil: 20/Jun/13

SELECT REPLACE(CONVERT(VARCHAR(11),GETDATE(),106), ' ','/');  

Hasil: 20/Jun/2013

Komentar (0)

Coba ini

select convert(varchar,getdate(),100)

parameter ketiga adalah format, jangkauan dari 100 untuk 114, ada orang yang harus bekerja untuk anda.

Jika anda perlu upload di dd/mm/yyyy gunakan ini:

replace(convert(char(11),getdate(),113),' ','-')

Ganti getdate() dengan nama kolom. Ini bekerja untuk saya.

Komentar (0)

Coba ini :

select replace ( convert(varchar,getdate(),106),' ','/')
Komentar (0)

Siapa pun yang mencoba untuk secara manual memasukkan tanggal dengan sql server 'tanggal jenis' variabel menggunakan format ini saat memasuki :

'yyyy-mm-dd'

Komentar (0)

Anda dapat menggunakan query ini-

SELECT FORMAT (getdate(), 'dd/MMM/yy') as date

Harapan, permintaan ini membantu anda.

Terima kasih!!!!

Komentar (0)