Mikä on CURRENT_DATE tai nykyinen päivämääräarvo -toiminto SQL Serverille?

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?

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *