Problem:
Du vil gerne have den aktuelle dato og tid for en MySQL-database.
Løsning:
Vi bruger en af to funktioner, CURRENT_TIMESTAMP eller NOW(), for at få den aktuelle dato og klokkeslæt.
SELECT CURRENT_TIMESTAMP ;
Her er resultatet af forespørgslen:
2019-08-15 11:13:17
Diskussion:
CURRENT_TIMESTAMP
funktion i MySQL-databasen returnerer den aktuelle dato og det aktuelle klokkeslæt (dvs. klokkeslættet for maskinen, der kører den forekomst af MySQL). Den er givet som en værdi i formatet 'ÅÅÅÅ-MM-DD tt:mm:ss'.
Denne funktion kræver ikke beslag. Du kan dog bruge parenteser til at angive en højere præcisionstid. Du skal blot placere et heltal fra 1 til 6 inden for parenteserne - dette bestemmer antallet af brøksekunder, der skal inkluderes efter decimalen. Et 1 angiver kun ét sted efter decimalen, et 3 angiver tre steder osv. Her er et eksempel:
SELECT CURRENT_TIMESTAMP(6) ;
Dette returnerer datoen og klokkeslættet med seks brøksekunder, som sådan:
2019-08-27 12:08:56.146153
Dette resultat indeholder et 6-cifret brøksekund, fordi vi sætter 6 som det valgfrie argument i funktionen CURRENT_TIMESTAMP.
Funktionen NOW() ligner CURRENT_TIMESTAMP
funktion og returnerer det samme resultat. Forskellen er, at CURRENT_TIMESTAMP
er SQL-standardfunktionen, mens NOW() er specifik for MySQL. Lad os se et eksempel med NOW():
SELECT NOW() ;
Her er resultatet af forespørgslen:
2019-08-27 12:18:55
I modsætning til CURRENT_TIMESTAMP kræver NOW() parenteser. Du kan lade parenteserne stå tomme, hvilket returnerer dato og klokkeslæt uden brøkdele af sekunder. Hvis du vil have et mere præcist resultat, skal du bruge et heltal fra 1 til 6 som det valgfrie argument (som med CURRENT_TIMESTAMP). Det returnerer det antal brøksekunder, du angiver.