Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie finde ich den Fehler bei der Konvertierung von varchar in int in SQL?

Sie könnten einen regulären Ausdruck verwenden, um zu bestimmen, welche Felder nicht richtig konvertiert werden.

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

Die zurückgegebenen Datensätze sind diejenigen, die nicht richtig CAST werden, wenn Sie Ihre Tabelle ALTEREN. Dezimalzahlen, die in varchar-Feldern gespeichert sind, werden auch nicht in ints umgewandelt.

Betrachten Sie:

select CAST('1.1' as int) -- dies gibt einen Fehler zurück.

Viel Glück.