Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst MSSQL Frage Konvertierung varchar in summierbaren Wert (decimal?)

Mitglied: Schniefnase

Schniefnase (Level 1) - Jetzt verbinden

10.01.2019 um 06:57 Uhr, 177 Aufrufe, 5 Kommentare

Hallo,

ich habe hier einige Tabellen geerbt und bin nicht besonders bewandert in Datenbanken. Ein bisschen gegoogelt habe ich schon - auch einiges gefunden, aber nicht so richtig durchgeblickt. Ich versuche es nochmal hier.

Ich habe eine Tabelle in der varchar Werte gespeichert sind wie z.B. "1.000,00". Also "." als 1000er Trennzeichen und "," als Dezimaltrennzeichen. Es können natürlich auch deutlich höhere Werte sein - aber immer im genannten Format.

Nun soll ich diese Werte summieren.

Grundlage also so was wie:

SELECT SUM(column_name)
FROM table_name
WHERE condition;

Den column_name muss ich jetzt irgendwie Converten und Replacen.

Ich habe mal den hier versucht: CONVERT(numeric(10,2),REPLACE('column_name',',','.'))
Damit bin ich schon nicht wirklich weitergekommen.

Nur was nehme ich da am besten? Numeric? Und wie "Replace" ich am besten? Kann mir da jemand auf die Sprünge helfen, bitte? Danke.
Mitglied: sabines
LÖSUNG 10.01.2019 um 07:28 Uhr
Moin,

schau dir das mal an:
https://docs.microsoft.com/de-de/sql/t-sql/functions/cast-and-convert-tr ...

Cast sollte für Deine Zwecke passen, aber Achtung, der Punkt kann Ärger machen.
SELECT CAST(CAST('123.456' as float) as int) sollte das beheben.

Einfach mal durchtesten.

Gruss
Bitte warten ..
Mitglied: Volchy
LÖSUNG 10.01.2019 um 07:34 Uhr
Moin,

Tausendertrenner würde ich im ersten Replace raus nehmen und das Komma durch Punkt ersetzen im zweiten Replace. Dann entsprechend casten:
Probier mal in die Richtung:
select cast(replace(replace('1.000,25','.',''),',','.') as float) as Test

LG
Bitte warten ..
Mitglied: Schniefnase
10.01.2019, aktualisiert um 14:41 Uhr
Erstmal Danke euch beiden. Leider bekomme ich es immer noch nicht hin.

Ich habe mir jetzt nur mal die Spalte gegriffen in der Tabelle - also:

select cast(replace(replace('SpaltennameMitVarCharWert','.',''),',','.') as float)

Leider schmeißt der SQL-Server mir:

Msg 8114, Level 16, State 5, Line 1
Error converting data type varchar to float.

Ich google mal munter weiter - aber falls noch wer Ideen hat...


Edit: Ich bin natürlich doof und darf den Spaltennamen nicht in Hochkomma setzen Danke. Ich glaube ich bekomme es hin. Ihr habt mir beide sehr geholfen.
Bitte warten ..
Mitglied: ukulele-7
LÖSUNG 10.01.2019 um 16:20 Uhr
Das Problem mit so verkorksten Tabellen ist das auch etwas anderes als eine Zahl in deinem VARCHAR stehen kann und dann knallt es, genau wie es durch deine Hochkomma geknallt hat, und die ganze Abfrage scheitert. Je nachdem wer die Daten in die Spalte schreibt (Mensch oder Maschine) solltest du solche Fälle noch abfangen, z.B. mit
01.
WHERE isnumeric(spalte) = 1
Bitte warten ..
Mitglied: Schniefnase
11.01.2019 um 06:49 Uhr
Hat zwar so hingehauen (diesmal) - aber der Tipp ist sicher Gold wert!
Bitte warten ..
Ähnliche Inhalte
Datenbanken

MSSql Server - Select gibt sporadisch keinen Wert zurück

Frage von mkdeluxeDatenbanken2 Kommentare

Hallo zusammen, ich stehe vor einem kuriosen Verhalten und hoffe auf Tipps, wie ich dem auf die Spur kommen ...

Cloud-Dienste

Frag zu sftp und rsync

gelöst Frage von qwertz1Cloud-Dienste2 Kommentare

Hallo, ich habe eine Frage zu rsync im Zusammenspiel mit sftp. Ein Kunde hat sich bei Strato einen Online-Speicher ...

Datenbanken

MSSQL-Zugriffsproblem

Frage von petereDatenbanken3 Kommentare

Hallo, ich habe eine 32bit VB6-Anwendung, mit der ich auf MSSQL 2012 Server Instanzen zugreifen möchte, die einen Spielserver ...

Datenbanken

MsSQL 2005 zu MsSQL 2014 Servernamen ändern?

gelöst Frage von SPSmanDatenbanken21 Kommentare

Hallo, ich habe folgendes Problem: ein Kollege von mir ist mit meinem "alten System" mit MSSQL Server 2005 nach ...

Neue Wissensbeiträge
Humor (lol)
Und wie seid Ihr gegen Cyberattacken gewappnet?
Information von DerWoWusste vor 1 TagHumor (lol)5 Kommentare

aber wo ist der Hammer? :-)

Sicherheit
Ein weiterer Microsoft-Stirnklatscher
Information von DerWoWusste vor 2 TagenSicherheit7 Kommentare

Habe gerade einen Artikel zu einem Sicherheitsproblem gefunden, welches mir zu seiner Zeit (gepatcht 2015) wohl durchgerutscht ist. Es ...

Windows 10
Upgradepfade Windows 10 LTSC
Erfahrungsbericht von Datenreise vor 2 TagenWindows 10

Nur eine kurze Info, für diejenigen, die es interessiert, da es hierzu im Netz aus nachvollziehbaren Gründen nicht allzu ...

Administrator.de Feedback
Wartungsarbeiten heute Nacht (Update)
Information von Frank vor 2 TagenAdministrator.de Feedback10 Kommentare

Hallo User, durch Umbauarbeiten in unserem Rechenzentrum (am Backbone) kann es heute Nacht (14-15.01.2019) zu kurzen Ausfällen unserer Seite ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 - kein Boot mehr nach Domänenaustritt
gelöst Frage von Ghost108Windows 1025 Kommentare

Hallo zusammen, habe hier eine Windows 10 Maschine, die ich gerne aus der Domäne austreten lassen möchte. Nach Austritt ...

Microsoft
SFirm 4.0 auf Terminalserver startet für jeden angemeldeten Benutzer diverse Dienste
Frage von Frank84Microsoft24 Kommentare

Hallo zusammen, wir verwenden Sfirm 4.0 auf einem Terminalserver (der SQL Server ist auf einem separaten Server), das Problem ...

Windows 10
VM wächst schnell von 14 auf 35 GB an - warum?
Frage von degudejungWindows 1018 Kommentare

Hallo, ich bin ein Freund schlanker VMs und setze daher gerne mit dem Erscheinen einer neuen Win10 Version - ...

Internet
Google-Suchergebnisse, Schnelleinblendung, woher kommt der Inhalt?
gelöst Frage von departure69Internet17 Kommentare

Hallo. Ich bin der Systembetreuer einer kleinen Gemeinde in Süddeutschland. Wir betreiben auch eine Leihbücherei. Eine Kundin hat letzten ...