Wie Kann ich die Split-Decimal-Wert von Integer-Wert?
Nehme an, ich habe 4.9 Wert.
Ich würde gerne split 4 und .9 ... Wie kann ich es tun?
Konnte ich isolieren, 4 ETAGE(). Was ist mit der .9? Wie kann ich isolieren?
Ich bin mit t-sql sql server 2005/2008
InformationsquelleAutor Beginner_Pal | 2010-10-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie tun modulo-dividieren 1.
nicht 0.9 der Rest der 4.9/1 integer-division ? aber die Antwort ist Super +1
Ja, ich glaube jetzt, dass ich an Sie denke, aber ich erinnere mich, jemand sagt:,, das ist es nicht.
+1 für so eine einfache Antwort
+1.. für eine minute, ich dint glaube, es wird funktionieren, bis ich tatsächlich versucht Sie es aus!
InformationsquelleAutor
InformationsquelleAutor kalxas
Die einfachste, die ich mir denken kann, wäre
InformationsquelleAutor Gabriele Petrioli
Viele mainframe-Daten zu importieren Prozessen (leider sehr Häufig in der Finanzbranche) erfordert eine Spalte mit fester Breite input-Datei, die definiert, floating-point-zahlen mit ein paar Spalten für den integer-Wert und ein paar Spalten für den decimal-Wert. I. e. Sie wollen die Zahl 4.019 vertreten als 000401900, wo die ersten 4 chars entsprechen die integer-und die letzten 5 entsprechen den decimal-Komponente.
Für diese Anwendung ist, müssen Sie tun eine Menge von string-Manipulationen, aber ein guter Anfang ist, um eine Abfrage, die Ihnen zwei Felder mit 4 und '01900'.
Parsename() gepaart mit str() funktioniert der trick:
str() pads mit Leerzeichen auf der linken Seite, so müssen Sie ltrim für die ganze Zahl. Sie könnte nur cast zu int hier statt. Parsename nur analysiert, aus Zeit-getrennter string-Token.
Hier ein Problem mit dieser Methode. Seien Sie vorsichtig, nicht zu verwirren den Datentyp decimal_part Spalte:
Ergebnisse in:
Hier soll '01900' wurde 1900. Also:
Ergebnisse in:
InformationsquelleAutor Apoxy
InformationsquelleAutor codingbadger
Werfen Sie einen Blick auf die parsename-Funktion. Ich denke, der code unten wird die gewünschten Ergebnisse liefern.
select parsename(4.9,2) gibt die 4
select parsename(4.9,1) gibt die 9
Die Ausgabe von parsename direkt verwendet werden können, da eine Zahl so dass
select parsename(4.9,2)* 2 geben Sie das vaule 8
InformationsquelleAutor RC_Cleland
Andere Methode ist
InformationsquelleAutor Madhivanan
Einer Möglichkeit der Umwandlung mit PatIndex ist wie folgt
InformationsquelleAutor Eralper
Habe ich versucht, verschiedene Möglichkeiten, aber diese sieht aus wie das beste, das klappte bei mir Recht gut.
-- Für die Ziffern
--Zu finden, Max Längen
InformationsquelleAutor Shanmukha
verwenden Sie die folgende Abfrage:
Mit der
PARSENAME
Funktion zum Spalten der getrennten DatenBeispiel:4.9
InformationsquelleAutor Narasimha Narapureddy