sql >> Databasteknik >  >> RDS >> Sqlserver

Hur hittar jag felet i ett misslyckande med att konvertera varchar till int i SQL?

Du kan använda ett reguljärt uttryck för att avgöra vilka fält som inte kommer att konverteras korrekt.

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

Posterna som returneras är de som inte CASTAR ordentligt när du ÄNDRA ditt bord. Decimaler lagrade i varchar-fält kommer inte heller att kasta till ints.

Tänk på:

select CAST('1.1' as int) -- detta returnerar ett fel.

Lycka till.



  1. Python:Hur får jag tid från ett datetime.timedelta-objekt?

  2. Varför kräver Oracle ett alias för kolumner i en vy när man refererar ett objekt?

  3. MySQL välj där lika med flera värden

  4. CodeIgniter:SQL granskning av alla $this->db->query() metodanrop?