SQL Replace Befehel für berechnete Spalte

Ich suche das richtige SQL für eine Spalte die berechent ist. Mit meinen Replace Kenttnissen reicht das nicht. Hier das SQL: „Die Spalte b.verf-verf“ soll statt dem Wert „0“ der ausgerechnet wird mit „ja“ gefüllt sein.

select a.krnr ,a.arnr ,b.verf-verf ,a.kzref,a.kzrefa,
a.abtn,a.abtn,a.arbe from t051art a,t075lag b
where a.manr = b.manr and b.lanr = 1

Wäre super wenn sich jemand erbahmt.

Hallo Fisch,

wie wäre es mit:

DECLARE @var INT
DECLARE @verf VARCHAR(4)

SELECT @var = b.verf-verf where a.manr = b.manr and b.lanr = 1

IF (@var = 0)
BEGIN
 SET @verf = 'ja'
END
ELSE
BEGIN
 SET @verf = 'nein'
END

SELECT a.krnr ,a.arnr ,@verf AS verf-verf ,a.kzref,a.kzrefa,
a.abtn,a.abtn,a.arbe from t051art a,t075lag b
WHERE a.manr = b.manr and b.lanr = 1

geht leider nicht. Da kommt die Meldung
"Zeile 1, Spalte 9: Fand das Symbol „@“ als eines der folgenden erwartet wurde: begin funktion package…

Hallo Fisch,

arbeitest du auf der Datenbank oder von der Webseite aus?
Mit welcher Datenbank arbeitest du?
Mein Beispiel ist Transact-SQL für MS-SQl Datzenbanken.

Gruß Jörg

Hallo Jörg,
sorry hatte vergessen das rein zu schreiben. Arbeite mit Oracle DB, Version 10.g

UPDATE tabellen_name
SET spalte = REPLACE(spalte, ‚suche_string‘,‚ersetze_string‘);

wo bei ein JA heist das es sich um eine vom typ VARCHAR oder TEXT oder so halten muss.

es geht nicht zeichen einzutragen wo nur zahlen erlaubt sind.

OK, vielen Dank. Hat geholfen.

Hallo Fisch,

die Zeilen mit „DECLARE“ deklarieren Variablen. Ich weis leider nicht auswendig wie man in Oracle eine Variable deklariert.
In TransactSQL werden die Variablen mit „@“ bezeichnet. Schau mal in der Oracle-Hilfe da müsste es eigentlich stehen.

Gruß Jörg