AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

convert_tz ohne Funktion

Ein Thema von Nersgatt · begonnen am 1. Jun 2015 · letzter Beitrag vom 1. Jun 2015
Antwort Antwort
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#1

convert_tz ohne Funktion

  Alt 1. Jun 2015, 10:05
Datenbank: mysql • Version: 5.6 • Zugriff über: SQL
Moin,

ich habe ein komisches Phänomen mit convert_tz, welches ich mir überhaupt nicht erklären kann:
Code:
SET @x_utc = '2004-01-01 00:00:00';
SET @x_local = CONVERT_TZ(@x_utc,'+00:00','+02:00');

SET @a_utc = '1967-03-18 00:00:00';
SET @a_local = CONVERT_TZ(@a_utc,'+00:00','+02:00');

Select @a_utc, @a_local, @x_utc, @x_local;
ergibt bei mir:
@a_utc@a_local@x_utc@x_local
1967-03-18 00:00:001967-03-18 00:00:002004-01-01 00:00:002004-01-01 02:00:00

Warum sind a_utc und a_local gleich (wurden also nicht umgerechnet) und x_utc und x_local wurden (wie erwartet) umgerechnet? Bin ich denn doof??
Kann mir das jemand erklären? Was mache ich falsch?
Ich habe das auf 2 verschiedenen mySql-Servern ausprobiert und bin zum selben Ergebnis gekommen.

Danke!
Jens
Jens
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: convert_tz ohne Funktion

  Alt 1. Jun 2015, 10:39
Das niedrigste Datum was dort funktioniert ist 1970-01-01 00:00:01

Liegt wohl daran, dass 1970-01-01 00:00:00 intern als 0 gehandhabt wird und alles was davor ist, eben einen negativen Wert hat (und damit kommt wohl convert_tz dann nicht klar - die prüfen ob der Wert > 0 ist)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: convert_tz ohne Funktion

  Alt 1. Jun 2015, 10:40
OT: Oh Gott, nu simmer schon zu alt für mySQL *heul
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

AW: convert_tz ohne Funktion

  Alt 1. Jun 2015, 10:50
Wow, das nenn ich ein unerwartetes Verhalten.

Aber ist ja auch dokumentiert, nur hab ich nicht genau gelesen :
Zitat:
If the value falls out of the supported range of the TIMESTAMP type when converted from from_tz to UTC, no conversion occurs. The TIMESTAMP range is described in Section 11.1.2, “Date and Time Type Overview”.
Und in dem Abschnitt ist die Range dann auch so angegeben, wie Du sagst;
Zitat:
The range is '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC.
Die Beschränkung greift übrigens auch, wenn man convert_tz innerhalb einer eigenen Funktion mit Deklarierten Variablen vom Typ DateTime verwendet, obwohl die eine Range von
Zitat:
'1000-01-01 00:00:00' to '9999-12-31 23:59:59'
haben.

Damit ist convert_tz für mich nutzlos.

Danke für Deine Antwort!
Jens
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz