Tôi chỉ cần truy cập vào Tháng. Năm từ trường Ngày trong SQL Server.
Tôi chỉ cần truy cập vào Tháng. Năm từ trường Ngày trong SQL Server.
Câu trả lời:
Cũng như các đề xuất đã có, có một khả năng khác mà tôi có thể suy ra từ câu hỏi của bạn:
- Bạn vẫn muốn kết quả là một ngày
- Nhưng bạn muốn 'loại bỏ' Ngày, Giờ, v.v.
- Rời đi một năm / tháng trường ngày duy nhất
SELECT
DATEADD(MONTH, DATEDIFF(MONTH, 0, <dateField>), 0) AS [year_month_date_field]
FROM
<your_table>
Điều này nhận được số lượng của cả tháng kể từ ngày cơ sở (0) và sau đó thêm chúng vào ngày cơ sở đó. Do đó làm tròn xuống đến tháng có ngày.
LƯU Ý: Trong SQL Server 2008, Bạn vẫn sẽ có THỜI GIAN được đính kèm là 00: 00: 00.000 Điều này không hoàn toàn giống như "xóa" mọi ký hiệu về ngày và thời gian hoàn toàn. Ngoài ra NGÀY được đặt thành đầu tiên. ví dụ: 2009-10-01 00: 00: 00.000
select month(dateField), year(dateField)
SELECT convert(varchar(7), getdate(), 126)
Bạn có thể muốn xem trang web này: http://anubhavg.wordpress.com/2009/06/11/how-to-format-datetime-date-in-sql-server-2005/
datename(m,column)+' '+cast(datepart(yyyy,column) as varchar) as MonthYear
đầu ra sẽ như sau: 'Tháng 12 năm 2013'
Có hai hàm SQL để làm điều đó:
Tham khảo các tài liệu liên kết để biết chi tiết.
hãy viết theo cách này: YEAR(anySqlDate)
và MONTH(anySqlDate)
. Hãy thử nó với YEAR(GETDATE())
ví dụ.
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
Tôi đang giải thích câu hỏi của bạn theo hai cách.
a) Bạn chỉ cần tháng và năm một cách riêng biệt trong trường hợp nào đây là câu trả lời
select
[YEAR] = YEAR(getdate())
,[YEAR] = DATEPART(YY,getdate())
, [MONTH] = month(getdate())
,[MONTH] = DATEPART(mm,getdate())
,[MONTH NAME] = DATENAME(mm, getdate())
b)
Bạn muốn hiển thị từ một ngày nhất định, hãy nói '2009-11-24 09:01:55.483'
ở định dạng MONTH.YEAR . Vì vậy, đầu ra nên đến như 11.2009
trong trường hợp này.
Nếu đó là trường hợp thì hãy thử điều này (trong số các lựa chọn thay thế khác)
select [Month.Year] = STUFF(CONVERT(varchar(10), GETDATE(),104),1,3,'')
RIGHT(CONVERT(VARCHAR(10), reg_dte, 105), 7)
Thử cái này:
Bồ Đào Nha
SELECT format(dateadd(month, 0, getdate()), 'MMMM', 'pt-pt') + ' ' + convert(varchar(10),year(getdate()),100)
Kết quả: maio 2019
Tiếng Anh
SELECT format(dateadd(month, 0, getdate()), 'MMMM', 'en-US') + ' ' + convert(varchar(10),year(getdate()),100)
Kết quả: tháng 5 năm 2019
Nếu bạn muốn bằng ngôn ngữ khác, hãy thay đổi ' pt-pt ' hoặc ' en-US ' thành bất kỳ ngôn ngữ nào trong liên kết này
Tôi có một yêu cầu cụ thể để làm một cái gì đó tương tự trong đó nó sẽ hiển thị tháng năm có thể được thực hiện bằng cách sau:
SELECT DATENAME(month, GETDATE()) + '-' + CAST(YEAR(GETDATE()) AS nvarchar) AS 'Month-Year'
Trong trường hợp cụ thể của tôi, tôi cần phải hủy bỏ việc xóa bỏ 3 chữ cái trong một năm với 2 chữ số, trông giống như thế này:
SELECT LEFT(DATENAME(month, GETDATE()), 3) + '-' + CAST(RIGHT(YEAR(GETDATE()),2) AS nvarchar(2)) AS 'Month-Year'
Thử SELECT CONCAT(month(datefield), '.', year(datefield)) FROM YOURTABLE;
Cơ sở dữ liệu của tôi không hỗ trợ hầu hết các chức năng trên tuy nhiên tôi thấy rằng điều này hoạt động:
SELECT * FROM table WHERE SUBSTR(datetime_column, starting_position, number_of_strings)=required_year_and_month;
ví dụ:
SELECT SUBSTR(created, 1,7) FROM table;
trả về năm và tháng theo định dạng "yyyy-mm"
Nhận tháng và năm từ ngày
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), ' ', '-')
Đầu ra: Tháng 3-2019
Truy vấn :- Select datename(m,GETDATE())+'-'+cast(datepart(yyyy,GETDATE()) as varchar) as FieldName
Đầu ra: - Tháng 1-2019
trường ngày chung chúng ta có thể sử dụng
datename(m,<DateField>)+' '+cast(datepart(yyyy,<DateField>) as varchar) as FieldName
Để biết kết quả: "YYYY-MM"
SELECT cast(YEAR(<DateColumn>) as varchar) + '-' + cast(Month(<DateColumn>) as varchar)
select convert(varchar(11), transfer_date, 106)
đã cho tôi kết quả mong muốn của tôi về ngày được định dạng là 07 tháng 3 năm 2018
Cột 'transfer_date' của tôi là cột loại thời gian và tôi đang sử dụng SQL Server 2017 trên phương vị
chọn CONCAT (THÁNG (GETDATE ()), '.', NĂM (GETDATE ()))
Đầu ra: 5.2020
chọn CONCAT (DATENAME (THÁNG, GETDATE ()), '.', NĂM (GETDATE ()))
Đầu ra: May.2020