Oracle 关于ORA-01722的SQL异常:不是有效数字

Oracle 关于ORA-01722的SQL异常:不是有效数字,oracle,ora-01722,Oracle,Ora 01722,表格结构: create table VOTE_PROPOSER ( ID NUMBER not null, NAME VARCHAR2(100), GENDER VARCHAR2(50), BIRTHDAY DATE, IDENTITYTYPE VARCHAR2(50), IDENTITYCODE VARCHAR2(100), PHONENUMBER VARCHAR

表格结构:

 create table VOTE_PROPOSER
(
  ID              NUMBER not null,
  NAME            VARCHAR2(100),
  GENDER          VARCHAR2(50),
  BIRTHDAY        DATE,
  IDENTITYTYPE    VARCHAR2(50),
  IDENTITYCODE    VARCHAR2(100),
  PHONENUMBER     VARCHAR2(50),
  CHANNELS        VARCHAR2(50),
  AUTHOR          VARCHAR2(50),
  INSTITUTIONCODE VARCHAR2(50),
  MAILADDRESS     VARCHAR2(200),
  ZIPCODE         VARCHAR2(50),
  IPNO            VARCHAR2(50),
  RETIANVARCHAR4  VARCHAR2(50),
  RETIANVARCHAR5  VARCHAR2(50),
  RETAINDATE1     DATE,
  RETAINDATE2     DATE,
  ISCUSTOMER      NUMBER,
  RETAINNUMBER2   NUMBER,
  RETAINNUMBER3   NUMBER,
  RETAINNUMBER4   NUMBER,
  RETAINNUMBER5   NUMBER,
  SALEMANNAME     VARCHAR2(100),
  SALEMANMOBILE   VARCHAR2(11),
  COUNTRYCODE     VARCHAR2(8),
  PROVINCECODE    VARCHAR2(8)
)
SQL查询:

   SELECT count(*) FROM VOTE_PROPOSER WHERE 1=1 and ID='11111'

为什么要将
ID
与字符串进行比较

Oracle通常会将字符串自动转换为数字,但如果出现错误,可以使用:

 SELECT count(*) FROM VOTE_PROPOSER WHERE 1=1 and ID=11111