2015-08-19 2 views
3

J'utilise actuellement un plan d'hébergement partagé, et je ne suis pas sûr de la version de MySQL qu'il utilise, mais il ne semble pas supporter le type DATETIMEOFFSET.Est-ce que MySQL prend en charge DATETIMEOFFSET?

Existe-t-il une version de MySQL qui supporte DATETIMEOFFSET? ou y a-t-il des plans pour qu'il soit mis en œuvre à l'avenir?

+0

Pas comme je le souhaite (comme si vous utilisiez '' '' LIMIT START, OFFSET''', aye?). En MySQL, vous pouvez utiliser une clause '' 'WHERE''' pour limiter les lignes d'un champ de date dans un certain laps de temps:' '' ... WHERE 'date_col' ENTRE '2015-08-18 23:03: 00 'AND' 2015-08-19 23:03:00 ') '' ' – Avalanche

Répondre

3

Pour autant que je sache, le type DATETIMEOFFSET est spécifique à Microsoft SQL Server. Il ne fait pas partie du standard SQL et n'est supporté par aucune version actuelle ou passée de MySQL.

L'équivalent le plus proche de ce type de données dans MySQL est le type de données TIMESTAMP. Ce type de données stocke une date et une heure absolues à une précision de l'ordre de la microseconde, mais n'inclut pas de fuseau horaire. (L'horodatage stocké est toujours conservé en UTC.)

+0

Cela a du sens. Je pensais que SQL avait été créé par MS, et que l'implémentation MS était l'implémentation de référence. – bitwise

+0

Je pense que c'est une erreur de recommander TIMESTAMP (et je continue à le voir partout) car il ne peut pas stocker un fuseau horaire ou un décalage. – bitwise

+0

Microsoft n'a rien à voir avec la création de SQL. (Il a été créé en 1974, un an avant même que Microsoft ne soit fondé!) Et je ne sais pas pourquoi vous considéreriez un fuseau horaire comme un élément essentiel ici; 'TIMESTAMP' représente simplement un point abstrait dans le temps. Un fuseau horaire est une sorte de "format" pour ce point dans le temps, et peut être stocké séparément, si cela est nécessaire du tout. – duskwuff