2016-01-07 4 views
5

Come ottenere il mese in 3 lettere in SQL.Come ottenere l'abbreviazione di 3 lettere per il mese in SQL

In SQL dati tabella viene inserita:

2016-01-07 09:38:58.310 

Ho bisogno unico risultato il mese in 3 lettere come di seguito:

Jan 
+2

Quali DBMS stai usando? (Troppi prodotti dbms sono lontani da ANSI SQL compatibile quando si tratta di data/ora.) – jarlh

+1

SQL 2008 e la mia query di selezione è simile a questa: SELEZIONA TOP 10 id, Data, Titolo, Descrizione FROM Table_RecentNews ORDER BY Date DESC. @ Jarlh – zahed

+2

@zahed: quando le persone fanno domande nei commenti, di solito è una buona idea [modificare] la tua domanda, per renderla una domanda migliore nel suo complesso e includere specificamente le informazioni richieste (ad esempio, marc_s deve re-taggare il tuo domanda, ma potresti voler includere la tua query completa, che se marcata come codice ('{}') otterrà anche una bella evidenziazione della sintassi) –

risposta

6

provare questo (io parto dal presupposto che utilizza SQL Server).

Select Convert(char(3), GetDate(), 0) 

Se avete bisogno di nome completo del mese, provare

Select Datename(month, GetDate()) 
+0

la mia query di selezione è così: SELEZIONA TOP 10 id, Data, Titolo, Descrizione FROM Table_RecentNews ORDER BY Date DESC. @Nitin Varpe – zahed

+1

Hai solo bisogno di utilizzare la funzione di cui sopra e modificare la query. –

+0

Ho bisogno di risultati come .. Data come mmm .. @Nitin Varpe – zahed

6

Supponendo che si sta utilizzando SQL Server 2012 o più recente, è possibile utilizzare la funzione di FORMAT:

SELECT FORMAT([Date], 'MMM', 'en-US') 

Adattare le impostazioni locali secondo necessità.

Visto che siete su SQL Server 2008, userei

SELECT LEFT(DATENAME(MONTH, [Date]), 3) 
+3

Sei stato più veloce :) 'SELEZIONA FORMAT (@d, 'MMM', 'en-US'); '[demo] (https://data.stackexchange.com/stackoverflow/query/420643) Vorrei aggiungere le impostazioni internazionali nel caso – lad2025

+0

Ho provato questo in sql server 2012 ma dare l'errore come "FORMAT" non è un nome di funzione predefinito riconosciuto. Perché?? –

+2

@NitinVarpe: probabilmente esegui SSMS 2012, ma con un motore di database ** pre-2012 **. La versione del database ** motore ** è determinante, non quale versione dello strumento GUI frontend che stai utilizzando. Controlla la versione del motore del database usando 'SELECT @@ VERSION' –

Problemi correlati