oracle資料中 模糊尋找關鍵字like存在問題解決

來源:互聯網
上載者:User

oracle中查詢關鍵字 like,當我用like執行模糊尋找是,探索資料量不對,表的結構如下:

-- Create tablecreate table NEOERP(  ID                   NUMBER(22) not null,  PRODUCTNAME          NVARCHAR2(100) default ' ',  CT_SMP_SPECIFICATION NVARCHAR2(100) default ' ',  TYPENAME             NVARCHAR2(50),  UNIT                 NVARCHAR2(30) default ' ',  STORECODE            NVARCHAR2(100) default ' ',  ROOMCODE             NVARCHAR2(100) default ' ',  SAMPTMPLID           NVARCHAR2(100),  CT_BELONG            NVARCHAR2(100) default ' ',  CT_MANUFACTURE       NVARCHAR2(100),  CT_EXPORTER_PLACE    NVARCHAR2(100),  REMARK               NVARCHAR2(200),  LOGINDATE            DATE default sysdate,  CT_SMP_TYPE          NVARCHAR2(100),  SAMPLENAME           NVARCHAR2(200),  SAMPLEDESCRIPTION    NVARCHAR2(200),  STARTDATE            DATE,  STATUS               NVARCHAR2(2) default 'F',  REMOVE_DATE          DATE,  TIMETYPE             NVARCHAR2(10),  REPORTDATE           NUMBER(22),  TIMEVALUE            NUMBER(22))tablespace VGSM  pctfree 10  initrans 1  maxtrans 255  storage  (    initial 64K    minextents 1    maxextents unlimited  );-- Add comments to the columns comment on column NEOERP.PRODUCTNAME  is '產品名稱';comment on column NEOERP.CT_SMP_SPECIFICATION  is '規格';comment on column NEOERP.TYPENAME  is '類別名稱';comment on column NEOERP.UNIT  is '單位';comment on column NEOERP.STORECODE  is '存貨編碼';comment on column NEOERP.ROOMCODE  is '物料編碼';comment on column NEOERP.SAMPTMPLID  is '樣品模版id';comment on column NEOERP.CT_BELONG  is '歸屬地';comment on column NEOERP.CT_MANUFACTURE  is '生產地';comment on column NEOERP.CT_EXPORTER_PLACE  is '出口地';comment on column NEOERP.REMARK  is '備忘';comment on column NEOERP.CT_SMP_TYPE  is '樣品類型';comment on column NEOERP.SAMPLENAME  is '樣品名稱';comment on column NEOERP.SAMPLEDESCRIPTION  is '樣品描述';comment on column NEOERP.STARTDATE  is '起始時間';comment on column NEOERP.STATUS  is 'f可用 狀態';comment on column NEOERP.REMOVE_DATE  is '刪除時間';comment on column NEOERP.TIMETYPE  is '年月日';comment on column NEOERP.REPORTDATE  is '要求報告日期';comment on column NEOERP.TIMEVALUE  is '有效期間';-- Create/Recreate primary, unique and foreign key constraints alter table NEOERP  add constraint PK_ERP_ID primary key (ID)  using index   tablespace VGSM  pctfree 10  initrans 2  maxtrans 255  storage  (    initial 64K    minextents 1    maxextents unlimited  );

當我用SELECT * FROM NEOERP WHERE ROOMCODE LIKE '%%',來查詢時候,資料一直存在問題,查處的資料量與期望的資料量不同,

經查,是當roomcode為null造成的,

當我用SELECT * FROM NEOERP WHERE ROOMCODE IS NULL 來查詢發現這個查詢的結果是我所缺少的資料資訊。

null的含義,在我們不知道具體有什麼資料,也即未知,稱他為空白,oracle中,含有空值的表列長度為零。

等價於沒有任何值,是未知數,null與0,Null 字元串,空格不同,對空值做運算,結果仍然是空值,oracle提供了處理空值函數nvl,比較時候用 is null或者 is not null.

通過以上說明,通過SELECT * FROM NEOERP WHERE ROOMCODE LIKE '%%'查詢不到值為null的資料。

對上面sql語句進行修改後,既可以完成所需功能:

SELECT * FROM NEOERP WHERE NVL(ROOMCODE,0) LIKE '%%'

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.