Saya hanya perlu mengakses Bulan. Tahun dari bidang Tanggal di SQL Server.
Saya hanya perlu mengakses Bulan. Tahun dari bidang Tanggal di SQL Server.
Jawaban:
Serta saran yang sudah diberikan, ada satu kemungkinan lain yang dapat saya simpulkan dari pertanyaan Anda:
- Anda masih ingin hasilnya menjadi kencan
- Tetapi Anda ingin 'membuang' Hari, Jam, dll.
- Meninggalkan satu tahun / bulan hanya bidang tanggal
SELECT
DATEADD(MONTH, DATEDIFF(MONTH, 0, <dateField>), 0) AS [year_month_date_field]
FROM
<your_table>
Ini mendapatkan jumlah bulan penuh dari tanggal dasar (0) dan kemudian menambahkannya ke tanggal dasar itu. Jadi pembulatan ke bulan di mana tanggal tersebut masuk
CATATAN: Dalam SQL Server 2008, Anda masih akan memiliki TIME terlampir sebagai 00: 00: 00.000 Ini tidak persis sama dengan "menghapus" notasi hari dan waktu sama sekali. Juga HARI diatur ke yang pertama. mis. 2009-10-01 00: 00: 00.000
select month(dateField), year(dateField)
SELECT convert(varchar(7), getdate(), 126)
Anda mungkin ingin memeriksa situs web ini: http://anubhavg.wordpress.com/2009/06/11/how-to-format-datetime-date-in-sql-server-2005/
SELECT DATEPART(yy, DateVal)
SELECT DATEPART(MM, DateVal)
SELECT DATENAME(MM, DateVal)
datename(m,column)+' '+cast(datepart(yyyy,column) as varchar) as MonthYear
hasilnya akan seperti: 'Desember 2013'
Ada dua fungsi SQL untuk melakukannya:
Lihat dokumentasi tertaut untuk detailnya.
Ini bisa membantu juga.
SELECT YEAR(0), MONTH(0), DAY(0);
atau
SELECT YEAR(getdate()), MONTH(getdate()), DAY(getdate());
atau
SELECT YEAR(yourDateField), MONTH(yourDateField), DAY(yourDateField);
mari kita tulis seperti ini: YEAR(anySqlDate)
dan MONTH(anySqlDate)
. Cobalah dengan YEAR(GETDATE())
misalnya.
convert(varchar(7), <date_field>, 120)
because 120 results in 'yyyy-MM-dd' which is varchar(10)
using varchar(7) will display only year and month
example:
select convert(varchar(7), <date_field>, 120), COUNT(*)
from <some_table>
group by convert(varchar(7), <date_field>, 120)
order by 1
Saya menafsirkan pertanyaan Anda dengan dua cara.
a) Anda hanya perlu Bulan & Tahun secara terpisah dalam hal ini jawabannya
select
[YEAR] = YEAR(getdate())
,[YEAR] = DATEPART(YY,getdate())
, [MONTH] = month(getdate())
,[MONTH] = DATEPART(mm,getdate())
,[MONTH NAME] = DATENAME(mm, getdate())
b)
Anda ingin menampilkan dari tanggal tertentu katakan '2009-11-24 09:01:55.483'
dalam format MONTH.YEAR . Jadi hasilnya harus seperti 11.2009
pada kasus ini.
Jika memang seharusnya demikian maka coba ini (di antara alternatif lain)
select [Month.Year] = STUFF(CONVERT(varchar(10), GETDATE(),104),1,3,'')
RIGHT(CONVERT(VARCHAR(10), reg_dte, 105), 7)
Coba ini:
Portugis
SELECT format(dateadd(month, 0, getdate()), 'MMMM', 'pt-pt') + ' ' + convert(varchar(10),year(getdate()),100)
Hasil: maio 2019
Inggris
SELECT format(dateadd(month, 0, getdate()), 'MMMM', 'en-US') + ' ' + convert(varchar(10),year(getdate()),100)
Hasil: Mei 2019
Jika Anda ingin menggunakan bahasa lain, ubah ' pt-pt ' atau ' en-US ' ke salah satu tautan ini
Saya memiliki persyaratan khusus untuk melakukan sesuatu yang serupa di mana itu akan menunjukkan bulan-tahun yang dapat dilakukan dengan yang berikut:
SELECT DATENAME(month, GETDATE()) + '-' + CAST(YEAR(GETDATE()) AS nvarchar) AS 'Month-Year'
Dalam kasus khusus saya, saya perlu menurunkannya menjadi 3 bulan bulan dengan tahun 2 digit, terlihat seperti ini:
SELECT LEFT(DATENAME(month, GETDATE()), 3) + '-' + CAST(RIGHT(YEAR(GETDATE()),2) AS nvarchar(2)) AS 'Month-Year'
Basis data saya tidak mendukung sebagian besar fungsi di atas namun saya menemukan bahwa ini berfungsi:
SELECT * FROM table WHERE SUBSTR(datetime_column, starting_position, number_of_strings)=required_year_and_month;
sebagai contoh:
SELECT SUBSTR(created, 1,7) FROM table;
mengembalikan tahun dan bulan dalam format "yyyy-mm"
Dapatkan Bulan & Tahun Dari Tanggal
DECLARE @lcMonth nvarchar(10)
DECLARE @lcYear nvarchar(10)
SET @lcYear=(SELECT DATEPART(YEAR,@Date))
SET @lcMonth=(SELECT DATEPART(MONTH,@Date))
SELECT REPLACE(RIGHT(CONVERT(VARCHAR(11), GETDATE(), 106), 8), ' ', '-')
Output: Mar-2019
Permintaan: - Select datename(m,GETDATE())+'-'+cast(datepart(yyyy,GETDATE()) as varchar) as FieldName
Output: - Januari-2019
field tanggal umum dapat kita gunakan
datename(m,<DateField>)+' '+cast(datepart(yyyy,<DateField>) as varchar) as FieldName
Untuk hasil: "YYYY-MM"
SELECT cast(YEAR(<DateColumn>) as varchar) + '-' + cast(Month(<DateColumn>) as varchar)
select convert(varchar(11), transfer_date, 106)
membuat saya hasil yang diinginkan tanggal diformat sebagai 07 Mar 2018
Kolom saya 'transfer_date' adalah kolom tipe datetime dan saya menggunakan SQL Server 2017 di biru
pilih CONCAT (MONTH (GETDATE ()), '.', YEAR (GETDATE ()))
Output: 5.2020
pilih CONCAT (DATENAME (MONTH, GETDATE ()), '.', YEAR (GETDATE ()))
Output: Mei.2020