Saya memiliki bulan disimpan di SQL Server sebagai 1,2,3,4, ... 12. Saya ingin menampilkannya sebagai Januari, Februari, dll. Apakah ada fungsi di SQL Server seperti MonthName (1) = Januari? Saya mencoba menghindari pernyataan KASUS, jika memungkinkan.
sql
sql-server
tsql
sql-server-2005
Saif Khan
sumber
sumber
Saya pikir ini adalah cara terbaik untuk mendapatkan nama bulan ketika Anda memiliki nomor bulan
Atau
sumber
sumber
sumber
Gunakan cara terbaik
sumber
Ini sangat sederhana.
output: Januari
sumber
Anda dapat menggunakan
CONVERT
fungsi bawaanIni akan menampilkan 3 karakter pertama bulan (JAN, FEB dll.)
sumber
selain asli
SELECT DATENAME(m, str(2) + '/1/2011')
kamu bisa melakukan ini
SELECT DATENAME(m, str([column_name]) + '/1/2011')
dengan cara ini Anda mendapatkan nama untuk semua baris dalam sebuah tabel. di mana [nama_kolom] mewakili kolom integer yang berisi nilai numerik 1 hingga 12
2 mewakili bilangan bulat apa pun, dengan string kontak saya membuat tanggal di mana saya dapat mengekstrak bulan. '/ 1/2011' dapat tanggal kapan saja
jika Anda ingin melakukan ini dengan variabel
sumber
Berikut ini berfungsi untuk saya:
sumber
Gunakan pernyataan ini untuk mengonversi nilai numerik Bulan ke nama Bulan.
sumber
Di beberapa lokal seperti Ibrani, ada bulan kabisat tergantung pada tahun sehingga untuk menghindari kesalahan di lokasi tersebut Anda dapat mempertimbangkan solusi berikut:
sumber
Tentu ini akan berhasil
sumber
Dimulai dengan SQL Server 2012, Anda dapat menggunakan FORMAT dan DATEFROMPARTS untuk menyelesaikan masalah ini. (Jika Anda ingin nama bulan dari budaya lain, ubah
en-US
:)Jika Anda ingin bulan tiga huruf:
Jika Anda benar-benar ingin, Anda dapat membuat fungsi untuk ini:
sumber
Anda dapat menggunakan fungsi konversi seperti di bawah ini
sumber
Cukup kurangi bulan saat ini dari tanggal hari ini, lalu tambahkan kembali nomor bulan Anda. Kemudian gunakan fungsi nama file untuk memberikan nama lengkap semua dalam 1 baris.
sumber
Saya pikir ini cukup untuk mendapatkan nama bulan saat Anda berkencan.
sumber
sumber
Untuk mengonversi angka bulan ke nama bulan, coba yang berikut ini
sumber
sumber
Yang ini bekerja untuk saya:
Dari pos di atas dari @leoinfo dan @Valentino Vranken. Lakukan saja seleksi cepat dan berfungsi.
sumber
Penjelasan:
MonthNumber
DatePart
Nomor Bulan Pengembaliansumber
ATAU
sumber
Bekerja untukku
sumber
Anda bisa mendapatkan tanggal seperti ini. misalnya: - Tabel pengguna
Anda bisa mendapatkan nama bulan seperti ini
keluaran
sumber
Gunakan pernyataan ini untuk mendapatkan nama bulan:
Ini akan memberi Anda nama bulan pendek. Seperti ini: Jan, Feb, Mar, dll.
sumber
Ini solusi saya menggunakan beberapa informasi dari orang lain untuk menyelesaikan masalah.
sumber
Tidak ada fungsi sistem yang didefinisikan dalam SQL server. Tetapi Anda dapat membuat sendiri fungsi yang ditentukan pengguna - fungsi skalar. Anda akan menemukan fungsi skalar di Object Explorer untuk database Anda: Programmability-> Functions-> Functions-dihargai Functions. Di bawah ini, saya menggunakan variabel tabel untuk menyatukan semuanya.
sumber
Anda dapat membuat fungsi seperti ini untuk menghasilkan Bulan dan melakukan SELECT dbo.fn_GetMonthFromDate (date_column) sebagai Month FROM table_name
sumber
Cara termudah adalah dengan memanggil fungsi
MONTHNAME(your_date)
. tanggal_anda bisa berupa nilai statis atau nilai dari salah satu bidang tabel Anda.sumber
SELECT MONTHNAME (concat ('1970 -', [Month int val], '- 01'))
example- SELECT MONTHNAME (concat ('1970 -', 4, '- 01'))
jawaban- April
sumber