![]() |
Datenbank: Firebird • Version: 2.1 • Zugriff über: IBExpert
[SQL] String -> Date Konvertierungsfehler
Hallo,
Habe gerade eine Query die ca. grob so aussieht:
SQL-Code:
Problem ist nur dass in diesem Feld ein String steht und aufgrund ungünstiger Umstände KANN es sein, dass in diesem Feld KEIN Datum steht. Daran kann ich leider auch nichts machen.
SELECT
CAST(tabelle.charfeld as DATE) FROM tabelle Wenn das jedoch bei einem Datensatz der Fall ist bekomme ich natürlich von Firebird einen Fehler an den Kopf geschmissen. Gibt es ne Möglichkeit dieses Problem zu umgehen, bzw. solche Felder zu ignorieren oder die Fehler/Exceptions abzufangen und stattdessen NULL zu selektieren? Sone Art coalesce für den Fall, dass die Konvertierung fehlschlägt. Gruß Neutral General |
AW: [SQL] String -> Date Konvertierungsfehler
Du könntest das Ganze in eine IIF() packen und per regex die Gültigkeit überprüfen.
In diesem Fall würde ich ich die Konvertierung aber im Programm machen |
AW: [SQL] String -> Date Konvertierungsfehler
Schreib dir eine Selectable Stored Procedure mit einem entsprechenden Exception Handling ausgestattet wo du dann entscheidest, was zurückgegeben werden soll, wenn es sich um kein gültiges Datum handelt.
|
AW: [SQL] String -> Date Konvertierungsfehler
was wären denn die möglichen Feldinhalte?
Unter Oracle würde ich das ungefähr so lösen
Code:
Wobei ich der Einfachheit halber annehme, daß als Ausnahmen nur Nulls und Blanks auftauchen können.
select
decode(charfield,null,null,' ',null,to_date(charfield,'yyyymmmdd')) Gruß K-H |
AW: [SQL] String -> Date Konvertierungsfehler
Hallo,
Habs jetzt so gelöst:
SQL-Code:
Ist nicht 100%ig narrensicher, aber ich denke für meine Zwecke wird es erstmal reichen ;)
SELECT
case when (tabelle.charfeld like "__.__.____") then CAST(tabelle.charfeld as DATE) else 'TODAY' end as feld FROM tabelle @p80286: Nein es könnte theoretisch auch "Hallo Welt" drin stehn. Das ist gerade das Problem. Ansonsten würde ich das sicher auch (leichter) hinbekommen. Aber danke für eure Hilfe :) |
AW: [SQL] String -> Date Konvertierungsfehler
Wenn es ein solches Chaos ist dann denk auch an
Code:
Gruß K-H
_._.__
__._.__ _.__.__ _._.____ ... usw. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz