Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come posso individuare l'errore in una mancata conversione di varchar in int in SQL?

Puoi utilizzare un'espressione regolare per determinare quali campi non verranno convertiti correttamente.

SELECT * 
FROM example 
WHERE xyz LIKE '%[^0-9]%'

I record restituiti sono quelli che non verranno trasmessi correttamente quando si altera la tabella. Anche i decimali archiviati nei campi varchar non verranno trasmessi a ints.

Considera:

select CAST('1.1' as int) -- questo restituisce un errore.

Buona fortuna.