sql >> Database >  >> RDS >> Mysql

Is er een MySQL-equivalent aan Oracle's TIMESTAMP WITH TIME ZONE?

Nee, u moet de gegevens opsplitsen in 2 kolommen, de ene een datetime en de andere met de tijdzone-informatie. Maar wat u in het laatste veld invoert, hangt af van wat u in Oracle hebt opgeslagen - het TIMESTAMP WITH TIME ZONE Datatype kan de TZ-offset en (optioneel) de tijdzoneregio bevatten. Uiteraard is dit laatste een vereiste om de datumtijd semantisch correct te laten zijn, maar IIRC Oracle dwingt niet af dat deze gegevens worden ingevuld.

Aangezien MySQL het datatype niet heeft, zal het erg moeilijk zijn om de MySQL-functie te schrijven om het te verwerken - het is een stuk eenvoudiger om een ​​MySQL-compatibele representatie te maken in Oracle waar het datatype wordt ondersteund. U hoeft alleen maar uit te zoeken welke gegevens u daadwerkelijk heeft en te beslissen hoe u deze in MySQL wilt weergeven. Volgens afspraak betekent dit dat het in UTC wordt opgeslagen samen met de TZ in een aparte kolom, en vervolgens bij selectie wordt geconverteerd met de functie convert_tz (altijd vanuit UTC)



  1. Hoe genereer ik geneste json-objecten met behulp van mysql native json-functies?

  2. selecteer count(*) uit de tabel van mysql in php

  3. Een externe sleutel maken in SQL Server (T-SQL-voorbeelden)

  4. Hoe de LIKE-operator werkt in MariaDB