Hallo,
ich habe auf einem Feld (eigentlich varchar) unterschiedliche Einträge.Je nachdem, ob die einträge nur Ziffern enthalten (also z.B. '12345') oder auch Buchstaben (z.B. '1234b') soll mit dem String unterschiedlich verfahren werden (beim einen Auffüllen mit Nullen, beim ander unverändert übernehmen)
Wie kann ich prüfen, ob der Inhalt eines varchar-Feldes eigentlich auch als Zahl durchgehen würde?
Ich hab's mal in der Weise probiert:
declare @txt varchar(20)
set @txt='12345'
if (@txt<>convert(int,@txt))
begin
select 'Text'
end
if (@txt=convert(int,@txt))
begin
select 'Zahl'
end
Aber das funktioniert nur, wenn die Variable mit einer Ziffernfolge belegt ist. Bei einer Buchstaben-Kombination erhalte ich kein "Text" als Antwort, sondern einen Kovertierungsfehler.
Habt Ihr mir irgendeinen schicken Trick?
ich habe auf einem Feld (eigentlich varchar) unterschiedliche Einträge.Je nachdem, ob die einträge nur Ziffern enthalten (also z.B. '12345') oder auch Buchstaben (z.B. '1234b') soll mit dem String unterschiedlich verfahren werden (beim einen Auffüllen mit Nullen, beim ander unverändert übernehmen)
Wie kann ich prüfen, ob der Inhalt eines varchar-Feldes eigentlich auch als Zahl durchgehen würde?
Ich hab's mal in der Weise probiert:
declare @txt varchar(20)
set @txt='12345'
if (@txt<>convert(int,@txt))
begin
select 'Text'
end
if (@txt=convert(int,@txt))
begin
select 'Zahl'
end
Aber das funktioniert nur, wenn die Variable mit einer Ziffernfolge belegt ist. Bei einer Buchstaben-Kombination erhalte ich kein "Text" als Antwort, sondern einen Kovertierungsfehler.
Habt Ihr mir irgendeinen schicken Trick?
Comment