Recupero dati numerici da campo varchar

venerdì 09 giugno 2006 - 17.57

ele Profilo | Newbie

Salve a tutti,
ho dovuto creare un campo codiceprodotto di tipo varchar (MySql), per poter utilizzare codici sia numerici che stringa; il problema è che non riesco a recuperare con una select i valori solo numerici...Ho provato infatti con la condizione "where codiceprodotto>0", ma mi tira su anche i dati del tipo 123/R o tipo 110/2!! Sto utilizzando il MySql, e non esiste un comando del tipo IsNumber o IsNumeric....Ho anche provato a mettere tutto in un dataset, ma poi ho problemi per ordinare in modo crescente i numeri, dato che le righe del dataset sono viste come stringhe....Come posso fare?
Grazie cmq,
Elena.

Brainkiller Profilo | Guru

>Salve a tutti,
>ho dovuto creare un campo codiceprodotto di tipo varchar (MySql),
>per poter utilizzare codici sia numerici che stringa; il problema
>è che non riesco a recuperare con una select i valori solo numerici...Ho
>provato infatti con la condizione "where codiceprodotto>0",

bisognerebbe capire i vari dati che possono essere contenuti nella colonna. Teoricamente puoi fare una:
SELECT * FROM Prodotti WHERE CODICE Not like '%/%'

Ossia dammi tutti i prodotti che non contengono una barra, ergo sono tutti quelli numerici, ma non so a priori che codici hai magari hai anche codici di questo tipo 145-321B e allora la query dev'essere cambiata.

>ma mi tira su anche i dati del tipo 123/R o tipo 110/2!! Sto
>utilizzando il MySql, e non esiste un comando del tipo IsNumber
>o IsNumeric....Ho anche provato a mettere tutto in un dataset,
>ma poi ho problemi per ordinare in modo crescente i numeri, dato
>che le righe del dataset sono viste come stringhe....Come posso
>fare?

Riguardo una successiva conversione da String a Int in modo che nel DataSet tutto funzioni correttamente puoi usare le funzioni di conversione di MySQL com CAST, CONVERT, ecc. qui documentate:
http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html
ciao

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5