Database.Guida
In SQL Server, è possibile utilizzare la funzione ISNUMERIC()
per scoprire se un’espressione è numerica o meno.
La funzione restituisce 1 se l’espressione è numerica e 0 se non lo è.
Per utilizzare questa funzione, è sufficiente passare il valore/espressione alla funzione durante la chiamata.
Esempio 1 – Espressione numerica
Ecco un esempio per dimostrare cosa succede quando si passa un’espressione numerica a questa funzione.
SELECT ISNUMERIC(250) AS Result;
Risultato:
+----------+| Result ||----------|| 1 |+----------+
In questo caso, il valore è numerico e il risultato è 1.
Otteniamo lo stesso risultato anche se il valore è fornito come stringa (racchiuso tra virgolette singole).
SELECT ISNUMERIC('250') AS Result;
Risultato:
+----------+| Result ||----------|| 1 |+----------+
Esempio 2-Espressione non numerica
Ecco cosa succede quando il valore non è numerico.
SELECT ISNUMERIC('Hey!') AS Result;
Risultato:
+----------+| Result ||----------|| 0 |+----------+
Esempio 3-Un esempio di database
Ecco un esempio di utilizzo di ISNUMERIC()
in una clausola WHERE
durante l’interrogazione di un database:
USE WideWorldImportersDW;SELECT COUNT(*) AS FROM Dimension.CustomerWHERE ISNUMERIC() = 1;
Risultato:
+---------+| Count ||---------|| 402 |+---------+
Restituisce il conteggio di tutte le righe con un codice postale numerico.
Risultati imprevisti? Quando Non numerico È numerico
Alcuni caratteri vengono trattati come numerici, anche quando non sono un numero. Questo è qualcosa di cui devi essere consapevole quando usi questa funzione, altrimenti potresti ottenere risultati che non ti aspetti.
Vedere Caratteri non numerici che restituiscono positivo quando si utilizza ISNUMERIC()
per una spiegazione ed esempi.
Leave a Reply