Een hele makkelijke voor iemand, Het volgende inzetstuk geeft me de
ORA-01722: ongeldig nummer
waarom?
INSERT INTO CUSTOMER VALUES (1,'MALADY','Claire','27 Smith St Caulfield','0419 853 694');
INSERT INTO CUSTOMER VALUES (2,'GIBSON','Jake','27 Smith St Caulfield','0415 713 598');
INSERT INTO CUSTOMER VALUES (3,'LUU','Barry','5 Jones St Malvern','0413 591 341');
INSERT INTO CUSTOMER VALUES (4,'JONES','Michael','7 Smith St Caulfield','0419 853 694');
INSERT INTO CUSTOMER VALUES (5,'MALADY','Betty','27 Smith St Knox','0418 418 347');
Er treedt een ORA-01722-fout op wanneer wordt geprobeerd een tekenreeks om te zetten in een getal, en de tekenreeks niet in een getal kan worden omgezet.
Zonder uw tabeldefinitie te zien, lijkt het erop dat u probeert de numerieke reeks aan het einde van uw waardenlijst om te zetten in een getal, en de spaties die het begrenzen werpen deze fout op. Maar gebaseerd op de informatie die je ons hebt gegeven, zou het op elk veld kunnen gebeuren (anders dan het eerste).
Als deze fout komt wanneer u probeert om niet-numerieke waarde in te voegen in een numerieke kolom in db lijkt het erop dat uw laatste veld zou kunnen zijn numeriek en je probeert om het te verzenden als een tekenreeks in de database. Controleer uw laatste waarde.
Dit is omdat:
U een SQL-instructie uitvoerde die een string probeerde te converteren naar een getal, maar het is niet gelukt.
Zoals uitgelegd in:
Om deze fout op te lossen:
Alleen numerieke velden of tekenvelden die numerieke waarden bevatten kunnen worden gebruikt in rekenkundige bewerkingen. Zorg ervoor dat alle expressies evalueren naar getallen.