Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak zlokalizować błąd w przypadku niepowodzenia konwersji varchar na int w SQL?

Możesz użyć wyrażenia regularnego, aby określić, które pola nie zostaną poprawnie przekonwertowane.

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

Zwracane rekordy to te, które nie będą poprawnie przesyłane po ZMIANIE tabeli. Ułamki dziesiętne przechowywane w polach varchar również nie będą rzutowane na int.

Rozważ:

select CAST('1.1' as int) -- to zwraca błąd.

Powodzenia.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. WSTAWIENIE ZBIORCZE brakuje ostatniego wiersza?

  2. Nieobsługiwane słowo kluczowe:Metadane

  3. Zamień pojedyncze cudzysłowy w SQL Server

  4. Wybierz bazy danych, które zawierają tylko określoną tabelę

  5. Pomijanie instrukcji WHERE, jeśli zmienna dla tej instrukcji ma wartość null