熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

深入研究SQL結構化查詢語言中的LIKE語句

2013-11-13 15:48:31  來源: Oracle 

  在SQL結構化查詢語言中LIKE語句有著至關重要的作用
  
  LIKE語句的語法格式是select * from 表名 where 字段名 like 對應值(子串)它主要是針對字符型字段的它的作用是在一個字符型字段列中檢索包含對應子串的
  
  假設有一個數據庫中有個表table在table中有兩個字段分別是name和sex二者全是字符型數據現在我們要在姓名字段中查詢以字開頭的記錄語句如下
  select * from table where name like 張*
  
  如果要查詢以結尾的記錄則語句如下
  select * from table where name like *張
  
  這裡用到了通配符*可以說like語句是和通配符分不開的下面我們就詳細介紹一下通配符
  
 

  續上
  
 

  假設表table中有以下記錄
  name        sex
  張小明       男
  李明天       男
  李a天        女
  王五        男
  王清五       男
  
  下面我們來舉例說明一下
  例查詢name字段中包含有字的
  select * from table where name like %明%
  
  例查詢name字段中以字開頭
  select * from table where name like 李*
  
  例查詢name字段中含有數字的
  select * from table where name like %[]%
  
  例查詢name字段中含有小寫字母的
  select * from table where name like %[az]%
  
  例查詢name字段中不含有數字的
  select * from table where name like %[!]%
  
  以上例子能列出什麼值來顯而易見但在這裡我們著重要說明的是通配符*%的區別
  
  很多朋友會問為什麼我在以上查詢時有個別的表示所有字符的時候用%而不用*?先看看下面的例子能分別出現什麼結果
  select * from table where name like *明*
  select * from table where name like %明%
  
  大家會看到前一條語句列出來的是所有的記錄而後一條記錄列出來的是name字段中含有的記錄所以說當我們作字符型字段包含一個子串的查詢時最好采用%而不用**的時候只在開頭或者只在結尾時而不能兩端全由*代替任意字符的情況下
  
  以上是本人對like語句的淺見不足之處請朋友們指正
From:http://tw.wingwit.com/Article/program/Oracle/201311/17332.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.