国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

SQLServer:《SQL必知必會》一書的讀書筆記(六)

2024-07-21 02:46:17
字體:
來源:轉載
供稿:網友
SQLServer:《SQL必知必會》一書的讀書筆記(六)第6課 用通配符進行過濾

6.1 LIKE 操作符

  前面介紹的所有操作符都是針對已知值進行過濾。但是,這種過濾方法并不是任何時候都好用。

  例如:怎樣搜索產品名中包含文本 bean bag 的所有產品?

  【注意】通配符搜索只能用于文本字段(字符串),非文本數據類型字段不能使用通配符搜索

  【解析】通配符:用來匹配值的一部分的特殊字符

6.1.1 百分號(%)通配符

  %:任何字符出現任意次數

  例1:找出所有以詞 Fish 起頭的產品

SELECT PRod_id, prod_nameFROM ProductsWHERE prod_name LIKE 'Fish%';

  例2:可以使用多個通配符

  搜索包含文本 bean bag 的值

SELECT prod_id, prod_nameFROM ProductsWHERE prod_name LIKE '%bean bag%';

  例3:找出以 F 起頭、以 y 結尾的所有產品?

SELECT prod_nameFROM Products WHERE prod_name LIKE 'F%y';

  【提示】根據部分信息搜索電子郵件

    有一種情況下把通配符放在搜索模式中間是很有用的,就是根據郵件的一部分來查找電子郵件,例如:

    WHERE email LIKE 'b%@QQ.com'

  【注意】除了能匹配一個或多個字符外,%還能匹配0個字符。(0,1或多個字符)

  【注意】如果產品后面有一堆空格,'F%y'應改成'F%y%';或者用函數去掉空格

  【注意】WHERE prod_name LIKE '%' 不會匹配 NULL 的行

6.1.2 下劃線(_)通配符

   _:只匹配單個任意字符

   例4:

SELECT prod_id, prod_nameFROM ProductsWHERE prod_name LIKE '__ inch teddy bear';--    分析:LIKE 后面跟有文本的兩個通配符

   結果:2個

   例5:觀察使用 % 和 _ 的不同

SELECT prod_id, prod_nameFROM ProductsWHERE prod_name LIKE '% inch teddy bear';

6.1.3 方括號([])通配符

  []:用來匹配一個字符集,它必須匹配指定位置(通配符的位置)中的一個字符

  例6:找出所有名字以 J 或 M 起頭的聯系人

SELECT cust_contactFROM CustomersWHERE cust_contact LIKE '[JM]%';-- 分析:[JM] 匹配方括號中任意一個字符,它也只能匹配單個字符。[JM]之后的 % 通配符匹配第一個字符之后的所有字符

  

  例7:查詢匹配非 J 或 M 字符開頭的任意聯系人名

SELECT cust_contactFROM CustomersWHERE cust_contact LIKE '[^JM]%';--    分析:通過前綴字符 ^(脫字號)來否定

  方法二:使用 NOT

  例8:

SELECT cust_contactFROM CustomersWHERE NOT cust_contact LIKE '[JM]%';

6.2 使用通配符的技巧

  【性能】通配符搜索一般比前面討論的其它搜索要耗費更長時間。

  【技巧】

    1.不要過度使用通配符。如果其它操作符能達到相同目的,應該使用其它操作符

    2.盡量不要講它們用在搜索模式的開始處。把通配符置于開始處,搜索起來是最慢的。

    3.仔細注意通配符的位置

6.3 小結

  通配符的含義、使用及技巧

續集:

  SQLServer:《SQL必知必會》一書的讀書筆記(五)


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东宁县| 石楼县| 科技| 微山县| 河南省| 右玉县| 渑池县| 康保县| 息烽县| 永城市| 游戏| 漳平市| 略阳县| 章丘市| 武山县| 洛隆县| 秦皇岛市| 吉水县| 正宁县| 鄂伦春自治旗| 马边| 平顺县| 邢台市| 正蓝旗| 德惠市| 五台县| 东乌珠穆沁旗| 建瓯市| 贺兰县| 江北区| 新野县| 湟源县| 浠水县| 汪清县| 班玛县| 深水埗区| 上饶县| 新化县| 南阳市| 盖州市| 达日县|