Ich versuche, eine Spalte zu einer Ansicht hinzuzufügen, in der ich den folgenden Code verwende, um nur den Nachnamen aus einem Feld zu ziehen, das formatiert ist ‚Nachname, Vorname‘:Unterstützung für SQL Case-Anweisung zum Auswählen aus einer Spalte mit einem Komma
VALUE(RTRIM(SUBSTR(A.PREVIOUS_NAMES,1,LOCATE(',', A.PREVIOUS_NAMES)-1)), '')
AS "PREVIOUS_NAME",
Dies funktioniert gut, wenn es ein Komma in dem Gebiet ist jedoch, wie sich aus der folgenden Frage verwiesen, die Fehler anzeigen, wenn ein Komma ist nicht vorhanden.
SQLCode=-138 flagging on large count tables but not small DB2
Ich habe versucht, mit einem Fall Aussage zu kommen diese aufzunehmen, zu wählen, wenn das Komma vorhanden ist, aber ich habe nicht erfolgreich gewesen, und ich suche Hilfe oder Anregungen von erfahren Leuten.
RTRIM(
CASE WHEN LOCATE(",", A.PREVIOUS_NAMES) = 0
THEN A.PREVIOUS_NAMES
ELSE SUBSTR(A.PREVIOUS_NAMES,1,LOCATE(",", A.PREVIOUS_NAMES)-1)
END) AS "PREVIOUS_NAME"
Es ist nicht sehr anspruchsvoll, und es gibt mir SQLCODE-206 sagen „im Kontext wird es verwendet, nicht gültig ist“.
Danke für jede Hilfe, die Sie anbieten können!
Dies tat genau das, was ich erreichen wollte. Vielen Dank Gordon. – XB1213