Mikä on SQL Server -toiminto, jonka avulla voit saada nykyisen päivämäärän DATE
-tyyppisenä kuten SQL Tavallinen ”s CURRENT_DATE
-ominaisuus. Mikä on <current date value function>
SQL Serverille?
PostgreSQL: ää käytettäessä etsin esimerkiksi:
SELECT CURRENT_DATE; current_date -------------- 2018-06-27 (1 row)
Vastaa
Voit käyttää joko GETDATE
(palautustyyppi datetime
) tai SYSDATETIME
(palautustyyppi datetime2
), eron ollessa nanosekuntien tarkkuus SYSDATETIME()
.
Esimerkki :
SELECT GETDATE() fn_GetDate, SYSDATETIME() fn_SysDateTime
Tulokset:
fn_GetDate fn_SysDateTime 2018-06-27 10:31:18.963 2018-06-27 10:31:18.9659170
Katso Päivämäärä- ja aikatietotyypit ja -toiminnot (Transact-SQL) tuotedokumentaatiossa.
Täydellisyyden vuoksi SQL Server tunnistaa kysymyksessä mainitun CURRENT_DATE
myös ODBC-skalaarifunktiona :
SELECT {fn CURRENT_DATE()};
Tämä palauttaa varchar(10)
, joten tarvitsisi nimenomaisen suoratoiston tai muunnoksen date
tietotyyppi:
SELECT CONVERT(date, {fn CURRENT_DATE()});
Sisäänrakennettu Funktioita suositellaan ODBC-skalaarifunktioiden yli.
Vastaa
CAST (... to date)
ja GETDATE()
tai SYSDATETIME()
Paras tapa on
SELECT CAST( GETDATE() AS date );
Laajennuksella SQL Serverissä voit lähettää SYSDATETIME()
päivämäärään,
SELECT CAST( SYSDATETIME() AS date );
Asiakirjat SYSDATETIME
(Transact-SQL) näyttää lisää esimerkkejä,
SELECT CONVERT (date, SYSDATETIME()) ,CONVERT (date, SYSDATETIMEOFFSET()) ,CONVERT (date, SYSUTCDATETIME()) ,CONVERT (date, CURRENT_TIMESTAMP) ,CONVERT (date, GETDATE()) ,CONVERT (date, GETUTCDATE()); /* All returned 2007-04-30 */
Saattaa olla etuja CAST (GETDATE() AS date)
, kuten palauttaa luonnollisesti vähemmän tarkkuutta.
Kommentit
- Näin olen aina tehnyt sen, vaikka suoratoistatkin PÄIVÄMÄÄRÄ, onko väliä onko syötteen ajan tarkkuus nanosekunnin verran?