Identificare campo non numerico

venerdì 17 aprile 2009 - 17.59

perla0279 Profilo | Senior Member

Ciao

in una select mi tornano una serie di valori.

dovrebbero essere tutti numerici ma ogni tanto sbagliano inserendo una stringa .

La sytringa è sempre diversa , nel senso che non riesco ad identificare un valore definito ed escluderlo.... perchè all'interno possono scrivere di tutto.

Il campo da dabase è di tipo nvarchar ma all'interno devono scrivere solo numeri

Come faccio ad identificare all'interno di una select se nel campo c'è una stringa qualsiasi di escludere il dato dalla select ????
Altrimenti mi prende sempre una stringa per qunti controlli io faccia mi scappa sempre qualcosa..........

lbenaglia Profilo | Guru

>Il campo da dabase è di tipo nvarchar ma all'interno devono scrivere
>solo numeri
Allora per quale motivo è stato definito nvarchar?
La scelta del data type è una delle primissime cose che bisogna considerare in fase di progettazione di una base dati.

>Come faccio ad identificare all'interno di una select se nel
>campo c'è una stringa qualsiasi di escludere il dato dalla select
>????
Dando per scontato che la scelta migliore consiste nell'utilizzare un data type numerico in base al range di validità dei tuoi valori, puoi escludere le stringhe utilizzando la funzione ISNUMERIC():

SELECT... FROM... WHERE ISNUMERIC(ColonnaStringaCheDovrebbeEssereNumerica) = 1;

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
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