Newsgroup: it.lavoro.professioni.webmaster
Titolo: MySQL - Ordinare campo varchar come se fosse numerico

è possibile con una funzione MySQL ?
mi trovo ad avere dei valori numerici in un campo varchar che dovrei
ordinare progressivamente.
Ringrazio anticipatamente tutti  coloro mi vorranno aiutare,
Saluti, Marco

 ordinare progressivamente.
in linea di massima "order by campo" funziona anche con i numerici... :)))
-- 
Lino Mari [mod - it.economia.e-commerce]
http://www.ebow.it
 - e-business on web!
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - d2D004
Internet permette delle conversazioni tra esseri umani che erano
semplicemente impossibili nell'era dei mass media.

> in linea di massima "order by campo" funziona anche con i numerici... :)))
Ok ma in ordine alfabetico e non progressivamente.
nel senso 1.011 < 10.116 <1.014
cercavo qualcosa del timpo order by CONVERTI_IN_NUMERO(nomecampo).
in modo da "forzare" l'ordinamento facendolo considerare come numerico.
In MS SQLServer mi sembra ci sia un comando del genere...
Grazie cmq.
Marco

 In MS SQLServer mi sembra ci sia un comando del genere...
si in MS SQL Server 2000 esiste proprio CInt(campo)... ma in MySQL non
penso... dovresti cercare nel manuale di MySQL...
-- 
Lino Mari [mod - it.economia.e-commerce]
http://www.ebow.it
 - e-business on web!
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - d2D004
Gli iperlink sovvertono la gerarchia.

>
cia'

 penso... dovresti cercare nel manuale di MySQL...
dovrebbe esistere un CONVERT / CAST ma dalla versione 4.0
non so se l'host l'ha installata.
sto cercando una procedura alternativa anche se magari + obsoleta...
Grazie cmq
Marco

 penso... dovresti cercare nel manuale di MySQL...
mmmmm non mi risulta che SQL Server abbia la funzione CInt nel suo
Transact-SQL
Al massimo puoi utilizzarlo nel crearti dei DTS (con supporto ActiveX) e
forse qualcosa con Analysis Services (che non ho mai utilizzato e
francamente conosco quasi nulla, anzi togli il quasi :)
che io sappia su MS SQL esiste la funzione Convert(tipo,nomecampo) che in
poche parole nel suo caso verrebbe fuori come Convert(Int,nomecampo)
Oppure c'è la sintassi Cast(nomecampo as tipocampo) ad esempio
Cast(nomecampo as Int)
In MySQL mi pare che ci siano funzioni omonime ma purtroppo ora non posso
controllare, prova a usare entrambe le sintassi che ti ho indicato, una
delle due dovrebbe funzionare (ma non garantisco al 100% :P)
ciao
--
Fabio Angela (aka Red Angel) ICQ: 95966807
http://www.redangel.it
 : il portale sulla programmazione
tel. 3492305111

 sto cercando una procedura alternativa anche se magari + obsoleta...
vai qui
http://www.mysql.com/doc/en/Cast_Functions.html
e cerca tra i commenti a fondo pagina


 ciao
Grazie, ma purtroppo
The CAST() and CONVERT() functions were added in MySQL 4.0.2.
mi devo accertare che il mio hosting abbia aggiornato il db prima di
testare.
1000 grazie cmq,
Marco

> ORDER BY CONV(nomecampo,10,10)
Grazie ho provato ma nulla di buono.
Mi son ripassato anche il manuale ma non ho trovato nulla
sulla conversione in fase di ordinazione.
Grazie cmq,
Marco

 ha scritto nel messaggio
news:b8rc81$2nm$1...@newsreader.mailgate.org...

Cosě come in MS SQL anche in mySQL puoi utilizzare la funzione CAST .
-- 
ITHost (your host company)
Technical Manager
C. Paparelli (MCSE,MCSD,MCDBA)
http://www.ithost.ch


Grazie, ma purtroppo


 tipocampo) ad esempio Cast(nomecampo as Int)
insieme all'installazione di SQL Server viene installata anche una dll che
da la possibilita' di utilizzare le funzioni VB come CInt... la dll viene
installata automaticamente... nell'help di SQL Server ci sono le funzoni
abilitate e quelle no... :)


 abilitate e quelle no... :)
scusa ma poi quelle funzioni dove le usi? direttamente nelle query, viste,
stored, etc...?
perchè se è così mi sa tanto di feature Extra, su tutti i server SQL 2000
che ho usato nessuno supporta quelle funzioni nativamente, secondo me stai
parlando di DTS, se non è cosi chiariscimi un po cosa intendi perchè mi
interessa :)
(anche se penso che se si possa fare sia un'ulteriore fonte di rallentamento
per l'esecuzione delle query)


 rallentamento per l'esecuzione delle query)
alcune funzioni invece posso esse piu' dannose all'esterno della query... io
qualche volta ho incluso nelle query funzioni come Replace o LTrim... :)
dove diversamente avrei perso molto piu' tempo... :)


 Analysis Services...
[cut]
ah ok, Analysis Services, quello che dicevo che non conosco/utilizzo, mi
devo documentare su OLAP e affini :)
a proposito qualcuno conosce link che introducano all'argomento?
ciao!


 a proposito qualcuno conosce link che introducano all'argomento?
Eccone alcuni ottimi:
http://www.microsoft.com/sql/evaluation/bi/bianalysis.asp
http://msdn.microsoft.com/library/default.asp?url=/servers/books/sqlserver/mining.asp



http://msdn.microsoft.com/library/default.asp?url=/servers/books/sqlserver/mining.asp
grazie, il primo l'ho poi trovato mentre il secondo mi era sfuggito e sembra
interessante, guarderò sicuramente
