Antwort
 
Themen-Optionen
Alt 27.11.2005, 13:38 Nach oben    #1
Neuer Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 15
Standard Rechnen mit MySQL

Hallo Forum,

ich weiß, MySQL ist nicht dazu gedacht um großartige Rechenfunktionen auszuführen. Leider geht es in meinem Fall nicht anders.

Folgende Query ist dazu gedacht, beim Login auf einen FTP-Server als Begrüßungstext den Trafficverbrauch anzuzeigen.

Query:

Code:
SELECT SUBSTR(SUM(size)/1024/1024,1,5) FROM ftp_history WHERE loginname='%u'
Für was das Substr? Nun, da in der DB alles in bytes steht, möchte ich es auf MB umwandeln und nur die erste Nachkommastelle anzeigen, nicht alle. Alles kein Problem, bis ich das Substreingefügt habe.

Weiß jemand wie man diese Query zum laufen bringt,oder ob das überhaupt möglich ist?

Danke für Hilfe

Greez
GroundZero ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.11.2005, 14:03 Nach oben    #2
Corvin Gröning
 
Benutzerbild von Corvin
 
Registriert seit: 19.03.2005
Ort: S-H | Flensburg
Beiträge: 449
Standard

Zitat:
Zitat von http://dev.mysql.com/doc/refman/4.1/en/string-functions.html
SUBSTRING(str,pos) , SUBSTRING(str FROM pos) SUBSTRING(str,pos,len) , SUBSTRING(str FROM pos FOR len)

The forms without a len argument return a substring from string str starting at position pos. The forms with a len argument return a substring len characters long from string str, starting at position pos. The forms that use FROM are standard SQL syntax. Beginning with MySQL 4.1.0, it is possible to use a negative value for pos. In this case, the beginning of the substring is pos characters from the end of the string, rather than the beginning. A negative value may be used for pos in any of the forms of this function.

mysql> SELECT SUBSTRING('Quadratically',5);
-> 'ratically'
mysql> SELECT SUBSTRING('foobarbar' FROM 4);
-> 'barbar'
mysql> SELECT SUBSTRING('Quadratically',5,6);
-> 'ratica'
mysql> SELECT SUBSTRING('Sakila', -3);
-> 'ila'
mysql> SELECT SUBSTRING('Sakila', -5, 3);
-> 'aki'
mysql> SELECT SUBSTRING('Sakila' FROM -4 FOR 2);
-> 'ki'

This function is multi-byte safe.

Note that if you use a value less than than 1 for len, the result is always an empty string.

SUBSTR() is a synonym for SUBSTRING(), added in MySQL 4.1.1.
__________________
Corvin ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.11.2005, 14:23 Nach oben    #3
Neuer Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 15
Standard

*argh*,

man sollte einfach nicht die ganze Nacht durcharbeiten. Warum ich da Substring verwenden will, weiß ich bis jetzt noch nicht

Corven, weißt du zufällig wie ich die Nachkommastellen in MySQL auf 1 begrenzen kann durch die Select-Abfrage? Ich finde leider nichts, ist immer nur mit PHP gelöst, aber ich kann hier leider kein PHP verwenden

Danke
GroundZero ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.11.2005, 14:26 Nach oben    #4
Corvin Gröning
 
Benutzerbild von Corvin
 
Registriert seit: 19.03.2005
Ort: S-H | Flensburg
Beiträge: 449
Standard

Klar, mit format(
Zitat:
Zitat von http://dev.mysql.com/doc/refman/4.1/en/miscellaneous-functions.html
FORMAT(X,D)

Formats the number X to a format like '#,###,###.##', rounded to D decimals, and returns the result as a string. If D is 0, the result has no decimal point or fractional part.

mysql> SELECT FORMAT(12332.123456, 4);
-> '12,332.1235'
mysql> SELECT FORMAT(12332.1,4);
-> '12,332.1000'
mysql> SELECT FORMAT(12332.2,0);
-> '12,332'
__________________
Corvin ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.11.2005, 14:32 Nach oben    #5
Neuer Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 15
Standard

Danke.

Wer kommt denn da auf die Idee bei "12.9.4. Miscellaneous Functions" zu suchen

Ok, war auch mein erstes Mal mit solchen Abfragen... Sonst erledige ich das mit PHP.

Thread kann geclosed werden.

Für die Suche:
Code:
SELECT FORMAT(SUM(size)/1024/1024,1) FROM ftp_history WHERE loginname='%u'
GroundZero ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.11.2005, 14:53 Nach oben    #6
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.480
Standard

Vielleicht hilft es dir ja bei der nächsten Suche:
http://dev.mysql.com/doc/refman/5.0/en/ix01.html

Einfach da mal rumstöbern. Dann findest du auch, was du brauchst .

Grüße Ben.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Suche] MySQL Tool ähnlich MySQL Front ex³ Gesuche 5 22.12.2006 18:52
mySQL Zeitrechnung? lokari PHP-Programmierung 3 13.08.2006 16:31
ssh tunnel zu einer mysql datenbank beny_mcde Datenbanken 4 07.06.2006 16:05
MySQL 5.1 kommt in die Beta-Phase Ben Nachrichten 1 02.03.2006 14:31
MySQL 5.0 vor der Fertigstellung Jann Hendrik Nachrichten 13 15.11.2005 17:08


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:40 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44