मुझे SQL Server में Date फ़ील्ड से केवल Month.Year तक पहुँचने की आवश्यकता है।
मुझे SQL Server में Date फ़ील्ड से केवल Month.Year तक पहुँचने की आवश्यकता है।
जवाबों:
साथ ही पहले से दिए गए सुझावों के अलावा, एक अन्य व्यवसाय है जिसे मैं आपके प्रश्न से समझ सकता हूं:
- आप अभी भी परिणाम की तारीख
चाहते हैं - लेकिन आप दिन, घंटे इत्यादि को 'त्याग' करना चाहते हैं
- एक वर्ष / महीना छोड़कर केवल दिनांक फ़ील्ड
SELECT
DATEADD(MONTH, DATEDIFF(MONTH, 0, <dateField>), 0) AS [year_month_date_field]
FROM
<your_table>
यह आधार तिथि (0) से पूरे महीनों की संख्या प्राप्त करता है और फिर उन्हें उस आधार तिथि में जोड़ देता है। इस प्रकार उस महीने के लिए नीचे की ओर राउंडिंग जिसमें तारीख है।
नोट: SQL Server 2008 में, आप अभी भी TIME को 00: 00: 00.000 के रूप में संलग्न करेंगे, यह बिल्कुल वैसा नहीं है, जैसा कि दिन और समय के किसी भी नोटेशन को "हटाना" है। इसके अलावा पहले करने के लिए सेट करें। जैसे 2009-10-01 00: 00: 00.000
select month(dateField), year(dateField)
SELECT convert(varchar(7), getdate(), 126)
आप इस वेबसाइट को देख सकते हैं: 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
आउटपुट ऐसा दिखेगा: 'दिसंबर 2013'
इसे करने के लिए दो SQL फ़ंक्शन हैं:
विवरण के लिए लिंक किए गए दस्तावेज़ देखें।
यह मददगार भी हो सकता है।
SELECT YEAR(0), MONTH(0), DAY(0);
या
SELECT YEAR(getdate()), MONTH(getdate()), DAY(getdate());
या
SELECT YEAR(yourDateField), MONTH(yourDateField), DAY(yourDateField);
आइए इसे इस तरह लिखें: YEAR(anySqlDate)और MONTH(anySqlDate)। YEAR(GETDATE())उदाहरण के लिए इसके साथ प्रयास करें ।
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
मैं आपके प्रश्न की दो तरह से व्याख्या कर रहा हूं।
क) आपको केवल माह और वर्ष की आवश्यकता है, जिस स्थिति में यहाँ उत्तर है
select
[YEAR] = YEAR(getdate())
,[YEAR] = DATEPART(YY,getdate())
, [MONTH] = month(getdate())
,[MONTH] = DATEPART(mm,getdate())
,[MONTH NAME] = DATENAME(mm, getdate())
ख)
आप MONTH.YEAR प्रारूप '2009-11-24 09:01:55.483'में दी गई तिथि से प्रदर्शित करना चाहते हैं । इसलिए आउटपुट को इस मामले में आना चाहिए ।11.2009
यदि ऐसा माना जाता है, तो यह प्रयास करें (अन्य विकल्पों के बीच)
select [Month.Year] = STUFF(CONVERT(varchar(10), GETDATE(),104),1,3,'')
RIGHT(CONVERT(VARCHAR(10), reg_dte, 105), 7)
इसे इस्तेमाल करे:
पुर्तगाली
SELECT format(dateadd(month, 0, getdate()), 'MMMM', 'pt-pt') + ' ' + convert(varchar(10),year(getdate()),100)
परिणाम: maio 2019
अंग्रेज़ी
SELECT format(dateadd(month, 0, getdate()), 'MMMM', 'en-US') + ' ' + convert(varchar(10),year(getdate()),100)
परिणाम: मई 2019
यदि आप किसी अन्य भाषा में चाहते हैं, तो लिंक में से किसी में ' pt-pt ' या ' en-US ' बदलें
मुझे कुछ ऐसा ही करने की विशिष्ट आवश्यकता थी जहां यह महीने-वर्ष को दिखाएगा जो कि निम्नलिखित द्वारा किया जा सकता है:
SELECT DATENAME(month, GETDATE()) + '-' + CAST(YEAR(GETDATE()) AS nvarchar) AS 'Month-Year'
मेरे विशेष मामले में, मुझे इसे 2 अंक वर्ष के साथ 3 अक्षर महीने के संक्षिप्तिकरण के लिए नीचे लाने की आवश्यकता है, कुछ इस तरह से देख रहा है:
SELECT LEFT(DATENAME(month, GETDATE()), 3) + '-' + CAST(RIGHT(YEAR(GETDATE()),2) AS nvarchar(2)) AS 'Month-Year'
मेरा डेटाबेस ऊपर दिए गए अधिकांश कार्यों का समर्थन नहीं करता, हालांकि मैंने पाया कि यह काम करता है:
SELECT * FROM table WHERE SUBSTR(datetime_column, starting_position, number_of_strings)=required_year_and_month;
उदाहरण के लिए:
SELECT SUBSTR(created, 1,7) FROM table;
"yyyy-mm" प्रारूप में वर्ष और महीना लौटाता है
माह और तिथि से वर्ष प्राप्त करें
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), ' ', '-')
आउटपुट: Mar-2019
प्रश्न: - Select datename(m,GETDATE())+'-'+cast(datepart(yyyy,GETDATE()) as varchar) as FieldName
आउटपुट: - जनवरी -2019
सामान्य डेटफील्ड हम उपयोग कर सकते हैं
datename(m,<DateField>)+' '+cast(datepart(yyyy,<DateField>) as varchar) as FieldName
परिणाम के लिए: "YYYY-MM"
SELECT cast(YEAR(<DateColumn>) as varchar) + '-' + cast(Month(<DateColumn>) as varchar)
select convert(varchar(11), transfer_date, 106)
मुझे दिनांक 07 मार्च 2018 के रूप में मेरा वांछित परिणाम मिला
मेरा कॉलम 'transfer_date' एक डेटाइम प्रकार का कॉलम है और मैं azure पर SQL Server 2017 का उपयोग कर रहा हूं
CONCAT (MONTH (GETDATE ()), '।, YEAR (GETDATE ()) का चयन करें
आउटपुट: 5.2020
CONCAT (DATENAME (MONTH, GETDATE ()), '।', YEAR (GETDATE ()) का चयन करें
आउटपुट: May.2020