SQL> desc newjobs;
Name Null? Type
----------------------------------------- -------- ----------------------------
JOB_ID VARCHAR2(10)
JOB_TITLE NOT NULL VARCHAR2(35)
MIN_SALARY NUMBER(6)
MAX_SALARY NUMBER(6)
SQL> select job_id from newjobs;JOB_ID
--------------------
AD_ASST
FI_MGR
FI_ACCOUNT
AC_MGR
AC_ACCOUNT
SA_MAN
SA_REP
PU_MAN
PU_CLERK
ST_MAN
ST_CLERK
SH_CLERK
IT_PROG
MK_MAN
MK_REP
HR_REP
PR_REP
AD_VP18 rows selected.注:查询结果里面有AD_VP这个记录
SQL> select * from newjobs where job_id='AD_VP';no rows selected注:在这里却查询不到SQL> select * from newjobs where max_salary=2222;JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY
---------- ------------ -------------- --------------
AD_VP head 2000 2222
注:但是where语句变成 max_salary=2222 就可以查询到这个记录 我不明白为什么会出现这种情况,是不是跟索引什么有关系,求解释
Name Null? Type
----------------------------------------- -------- ----------------------------
JOB_ID VARCHAR2(10)
JOB_TITLE NOT NULL VARCHAR2(35)
MIN_SALARY NUMBER(6)
MAX_SALARY NUMBER(6)
SQL> select job_id from newjobs;JOB_ID
--------------------
AD_ASST
FI_MGR
FI_ACCOUNT
AC_MGR
AC_ACCOUNT
SA_MAN
SA_REP
PU_MAN
PU_CLERK
ST_MAN
ST_CLERK
SH_CLERK
IT_PROG
MK_MAN
MK_REP
HR_REP
PR_REP
AD_VP18 rows selected.注:查询结果里面有AD_VP这个记录
SQL> select * from newjobs where job_id='AD_VP';no rows selected注:在这里却查询不到SQL> select * from newjobs where max_salary=2222;JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY
---------- ------------ -------------- --------------
AD_VP head 2000 2222
注:但是where语句变成 max_salary=2222 就可以查询到这个记录 我不明白为什么会出现这种情况,是不是跟索引什么有关系,求解释
select * from newjobs where job_id like '%AD_VP%'; --应该是有结果select length(job_id) from newjobs where max_salary=2222;
union
select length('AD_VP') from dual; --应该长度不一样
SQL> select length(job_id) from newjobs1 where max_salary=2222;LENGTH(JOB_ID)
--------------
6SQL> select length('AD_VP') from newjobs1 where max_salary=2222;LENGTH('AD_VP')
---------------
5SQL> select job_id from newjobs1 where job_id='AD_VP '; JOB_ID
--------------------
AD_VP