Avatar billede anri Novice
14. juni 2006 - 22:48 Der er 6 kommentarer og
1 løsning

Teste indhold af streng

Jeg har en varchar som kan indeholde mange forskellige ting..  Jeg vil gerne caste det til en float hvis det er et tal (Eks. '55.8') og lade det forblive en varchar hvis det er tekst ('Super')

Kan jeg lave en test cast eller convert til en float og defaulte dil originalværdien hvis den fejler?
Avatar billede arne_v Ekspert
15. juni 2006 - 01:29 #1
en output kolonne i et query output kan kun være en type

hvad skal du bruge det til
Avatar billede ldanielsen Nybegynder
15. juni 2006 - 11:11 #2
pseudokode indtil videre:

SELECT CASE WHEN <Hvis det er et tal> CONVERT(float, strField) else strField END
FROM Tabel
Avatar billede ldanielsen Nybegynder
15. juni 2006 - 11:23 #3
Dette virker, men der er et problem

DECLARE @test varchar(10)

SET @test = '55,8'

SELECT CASE WHEN ISNUMERIC(@test) = 1
THEN CONVERT(float, @test) ELSE @test END

Hvis værdien er '55,8' vil isnumeric returnere 1, men convert fejler alligevel
Avatar billede ldanielsen Nybegynder
15. juni 2006 - 11:25 #4
Der må være en grund til at du vil konvertere det, og det må jo være en eller anden proces, for hvilken det ikke er ligegyldigt. Undersøgelsen og konverteringen burde efter min mening foregå i den proces. Uanset om det er i en applikation eller internt i MSSQL (SP, UDF eller lignende)
Avatar billede anri Novice
15. juni 2006 - 15:56 #5
Jeg skal putte det ind i et dataset som en 3. parts komponent skal sortere. Derfor vil jeg gerne have talkolonner returneret som en float.
Min query vil aldrig returnere rows med en blanding af tal og tekst i samme kolonne, så det må være muligt at typecaste.

Idas forslag er ok..  Jeg kan bare replace ',' med '.' så kan jeg teste om den er en numeric...
Avatar billede anri Novice
05. februar 2007 - 20:44 #6
Lægger du et svar Idanielsen, så vi kan lukke denne?
Avatar billede anri Novice
04. april 2007 - 13:42 #7
Intet svar fra Idanielsen, så jeg lukker selv.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

De Nationale Geologiske Undersøgelser for Danmark og Grønland (GEUS)

IT-systemadministrator søges til GEUS

Udviklings- og Forenklingsstyrelsen

Kontorchef med ansvar for tværgående service management

Udviklings- og Forenklingsstyrelsen

Projektkonsulent til nyopstartet it-projekt