Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment puis-je localiser l'échec dans un échec de conversion de varchar en int dans SQL ?

Vous pouvez utiliser une expression régulière pour déterminer quels champs ne seront pas convertis correctement.

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

Les enregistrements renvoyés sont ceux qui ne seront pas CAST correctement lorsque vous ALTEREZ votre table. Les décimales stockées dans les champs varchar ne seront pas converties en entiers non plus.

Considérez :

select CAST('1.1' as int) -- cela renvoie une erreur.

Bonne chance.