Problem:
Du vill ha aktuellt datum och tid för en MySQL-databas.
Lösning:
Vi använder en av två funktioner, CURRENT_TIMESTAMP eller NOW(), för att få aktuellt datum och tid.
SELECT CURRENT_TIMESTAMP ;
Här är resultatet av frågan:
2019-08-15 11:13:17
Diskussion:
CURRENT_TIMESTAMP
funktion i MySQL-databasen returnerar aktuellt datum och tid (dvs tiden för maskinen som kör den instansen av MySQL). Det ges som ett värde i formatet 'ÅÅÅÅ-MM-DD hh:mm:ss'.
Denna funktion kräver inga parenteser. Du kan dock använda parenteser för att ange en högre precisionstid. Placera helt enkelt ett heltal från 1 till 6 inom parentes – detta bestämmer antalet bråksekunder som ska inkluderas efter decimalen. En 1 anger endast en plats efter decimalen, en 3 anger tre platser, etc. Här är ett exempel:
SELECT CURRENT_TIMESTAMP(6) ;
Detta returnerar datum och tid med sex bråkdelar av sekunder, som så:
2019-08-27 12:08:56.146153
Detta resultat innehåller en 6-siffrig bråkdelssekund eftersom vi lägger 6 som valfritt argument i CURRENT_TIMESTAMP-funktionen.
Funktionen NOW() liknar CURRENT_TIMESTAMP
funktion och returnerar samma resultat. Skillnaden är att CURRENT_TIMESTAMP
är SQL-standardfunktionen, medan NOW() är specifik för MySQL. Låt oss se ett exempel med NOW():
SELECT NOW() ;
Här är resultatet av frågan:
2019-08-27 12:18:55
Till skillnad från CURRENT_TIMESTAMP kräver NOW() hakparenteser. Du kan lämna parenteserna tomma, vilket returnerar datum och tid utan bråkdelar av sekunder. Om du vill få ett mer exakt resultat, använd ett heltal från 1 till 6 som valfritt argument (som med CURRENT_TIMESTAMP). Det kommer att returnera antalet bråksekunder som du anger.