Re: Probleme beim Konvertieren von nvarchar Spalten in Int
From: Goran Stevanovic (gstevanovic_at_yahoo.com)
Date: 08/26/04
- Next message: Andre Grumbach: "Re: Probleme beim Konvertieren von nvarchar Spalten in Int"
- Previous message: Jochen Kalmbach: "RE: Rausfinden ob eine spezielle Instanz installiert ist !?"
- In reply to: Andre Grumbach: "Probleme beim Konvertieren von nvarchar Spalten in Int"
- Next in thread: Andre Grumbach: "Re: Probleme beim Konvertieren von nvarchar Spalten in Int"
- Reply: Andre Grumbach: "Re: Probleme beim Konvertieren von nvarchar Spalten in Int"
- Messages sorted by: [ date ] [ thread ]
Date: Thu, 26 Aug 2004 11:11:41 +0200
Mit Funktionen CONVERT und ISNUMERIC kannst Du die werte konvertieren und
sortieren:
Select Wert
From tmp
Order By convert(int,Wert)
where isnumeric(Wert) = 1
mfg
Goran
"Andre Grumbach" <andre.grumbach@.itvt.nospam.de> wrote in message
news:eQmu$o0iEHA.3232@TK2MSFTNGP10.phx.gbl...
> Hallo NG,
> ich bin leider ein absoluter Anfänger in SQL und hoffe das es trotzdem
eine
> einfache möglichkeit für mein Problem gibt.
>
> Also ich habe folgendes Problem:
>
> Ich habe in einer Spalte (datentyp nvarchar) ein menge von Zahlen stehen
(in
> der Regel stehen da nur Zahlen keine Buchstaben).
> Nun will ich mir die höchste Zahl von diesen ausgeben, was jedoch leider
> dank dem nvarchar Datentyp der Spalte nicht geht da nun miene ausgabe wie
> folgt aussieht:
> 1
> 10
> 11
> 2
> 3
> 4
> 5
> 6...
>
> Die SQL Anweisung die ich dafür verwendet habe lautet wiefolgt:
> Select Wert
> From tmp
> Order By Wert
>
> Nun habe ich das selbe mit einer Spalte gemacht, die den Datentyp int hat,
> und oh Wunder, es funktioniert.
> Da ich nun aber das Problem habe, den Spaltentyp von nvarchar nach int
nicht
> ändern kann (wird von diesem System leider so vorgeschrieben), habe ich
mir
> überlegt in meiner SQL Anweisung einen Temoporäre Tabelle anzugeben die
als
> Spalte int hat.
> Nun sieht meine Prozedur wie folgt aus:
>
> Declare @tmptable Table (Wert int)
>
> Insert @tmptable Select Wert
> From tmp
>
> Select *
> From @tmptable
> Order By Wert DESC
>
> Diese Prozedur gibt mir auch die Werte zurück die ich brauche, jedoch gibt
> es auch hierbei ein kleines Problem, wenn rein zufällig einer in die
Spalte
> Wert statt einer Zahl einen Buchstaben rein schreibt, stürtzt die ganze
> Prozedur ab.
>
> Um nochmal genau zu beschreiben was ich haben will, da ich wohl etwas weit
> ausgeschweift habe, hier die Erkläung:
> Tabelle:
> Wert 100001,100005,100002,100006,100007,100008,100009,
> 900001,900002900005,900004....
>
> Meine SQL Anweisung soll mir nun alle Werte auslesen die als Wert größer
> bzw. gleich 900000, in der Reihenfolge: 900010 zu 900000, haben.
> Was im Prinzip mit einem Where gemacht werden kann, jedoch tritt auch hier
> das Problem auf des möglicherweise in diese Spalte aus versehen A oder
ein
> andere Buchstabe drin steht.
> Diese müsste irgendwie abgefangen werden, und zwar so, das diese Wert
> entweder garnicht übernommen wird oder z.B. 0 für diesen Wert da steht.
>
> Ich hoffe ich habe euch nicht zusehr verwirrt und enier von euch hat eine
> Lösung für mein Problem.
>
> MfG
> Andre Grumbach
>
>
- Next message: Andre Grumbach: "Re: Probleme beim Konvertieren von nvarchar Spalten in Int"
- Previous message: Jochen Kalmbach: "RE: Rausfinden ob eine spezielle Instanz installiert ist !?"
- In reply to: Andre Grumbach: "Probleme beim Konvertieren von nvarchar Spalten in Int"
- Next in thread: Andre Grumbach: "Re: Probleme beim Konvertieren von nvarchar Spalten in Int"
- Reply: Andre Grumbach: "Re: Probleme beim Konvertieren von nvarchar Spalten in Int"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|