Come si seleziona una colonna datetime per mese?MS SQL seleziona un datetime per mese?
TABLE A
TITLE MY_DATETIME
blah 2011-03-26 05:44:43.213
SELECT *
FROM TABLE A
WHERE MY_DATETIME = "August"
Come si seleziona una colonna datetime per mese?MS SQL seleziona un datetime per mese?
TABLE A
TITLE MY_DATETIME
blah 2011-03-26 05:44:43.213
SELECT *
FROM TABLE A
WHERE MY_DATETIME = "August"
SELECT *
FROM TABLE A
WHERE DATEPART(month, MY_DATETIME) = 8
Oppure, meno affidabile based on language impostazione:
...
WHERE DATENAME(month, MY_DATETIME) = 'August'
Forse, non esiste una soluzione migliore per il problema poiché è impostata, ma questo è il modo giusto per Index Scan. –
@Igor: i requisiti per il mese indicano che non è possibile effettuare il check in date. Potrebbe essere una domanda difficile se – gbn
SELECT *
FROM TABLE A
WHERE DATENAME(MONTH, MY_DATETIME) = 'August'
Questo si rompe in alcuni casi strani: http://stackoverflow.com/a/1500018/27535 – gbn
Io uso EXTRACT
funzione invece di DATEPART
. DATEPART
la funzione non esiste nel mio mysql.
'WHERE month (MY_DATETIME) = 8' – Raihan
@MGA: Esiste in SQL Server 2008. Rif: http://msdn.microsoft.com/en-us/library/ms187813.aspx – Raihan
@MGA: davvero? Ci sono stato per sempre http://msdn.microsoft.com/en-us/library/ms187813.aspx e http://msdn.microsoft.com/en-us/library/aa933239(SQL.80).aspx – gbn