Hallo Zusammen,
ich will mittels eine FunKtion aus einer Zeichenkette alle Sonderzeichen herausfiltern. Dazu folgender Code:
[COLOR="#0000ff"][COLOR="Blue"]ALTER FUNCTION [dbo].[ArtSuchStr](@ArtBez char(50))
RETURNS char(50)
AS
BEGIN
declare @x int
declare @Zchn int
declare @HlpStr char(30)
set @x = 1
while @x <=Len(@ArtBez)
begin
set @Zchn = ascii(substring(@ArtBez, @x, 1))
If (@Zchn >= 48 And @Zchn <= 57) Or (@Zchn >= 65 And @Zchn <= 90) Or (@Zchn >= 97 And @Zchn <= 122)
begin
set @HlpStr = @Hlpstr+(substring(@ArtBez, @x, 1))
End
set @x= @x+1
end
Return @hlpstr
END
Die markierte Zeile funktioniert nicht (leere Spalte). Wenn ich aber den Teil "@Hlpstr+" aus der Zeile entferne liefert mir die Funktion zumindestens das letzte Zeichen der Ursprungskette.
Was mach ich hier blos falsch?
Danke für Eure Hilfe
mpeit
ich will mittels eine FunKtion aus einer Zeichenkette alle Sonderzeichen herausfiltern. Dazu folgender Code:
[COLOR="#0000ff"][COLOR="Blue"]ALTER FUNCTION [dbo].[ArtSuchStr](@ArtBez char(50))
RETURNS char(50)
AS
BEGIN
declare @x int
declare @Zchn int
declare @HlpStr char(30)
set @x = 1
while @x <=Len(@ArtBez)
begin
set @Zchn = ascii(substring(@ArtBez, @x, 1))
If (@Zchn >= 48 And @Zchn <= 57) Or (@Zchn >= 65 And @Zchn <= 90) Or (@Zchn >= 97 And @Zchn <= 122)
begin
set @HlpStr = @Hlpstr+(substring(@ArtBez, @x, 1))
End
set @x= @x+1
end
Return @hlpstr
END
Die markierte Zeile funktioniert nicht (leere Spalte). Wenn ich aber den Teil "@Hlpstr+" aus der Zeile entferne liefert mir die Funktion zumindestens das letzte Zeichen der Ursprungskette.
Was mach ich hier blos falsch?
Danke für Eure Hilfe
mpeit
Comment