DBAtlas · Veritabanı operasyon atlası

ORA-01722: Invalid number

Oracle

Ne demek?

Sayısal bir bağlama gereken yerde, sayıya dönüştürülemeyen bir karakter dizisi kullanıldı. Örtük veya açık dönüşüm başarısız oldu.

Neden olur?

Sayısal sütunla metin karşılaştırması (örn. WHERE num_col = 'ABC'), sayısal alana harf içeren değer eklenmesi, TO_NUMBER için uygun olmayan biçim, ya da ondalık ayıracı/binlik ayıracı uyuşmazlığı (virgül-nokta).

Nasıl çözülür?

Hatalı dönüşümün olduğu ifadeyi bulun; genellikle bir WHERE koşulu veya INSERT değeridir. Metin ve sayı karşılaştırmalarında tür uyumunu sağlayın, gerekirse açık dönüşüm kullanın: TO_NUMBER(sutun) ya da metin tarafı için TO_CHAR. Sayısal sütuna sayı olmayan veri girişini uygulama katmanında engelleyin. NLS_NUMERIC_CHARACTERS ayarına dikkat edin.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar