SQL判斷某字符串是否在指定字段中的方法

  LOCATE函數ide

  參數:函數

  substr - - 要查詢的字符串spa

  str - - 字段名索引

  pos - - 起始查找位置字符串

  返回值:it

  返回substr在str裏第一次出現的位置,沒有返回0io

  PS:當在 MySQL 4.0 中時,若有任一參數是一個二進制字符串,它纔是字母大小寫敏感的table

  語法:class

  LOCATE(substr,str)語法

  SELECT LOCATE('bar', 'foobarbar'); //結果:4

  SELECT LOCATE('xbar', 'foobar'); //結果:0

  LOCATE(substr,str,pos)

  返回字符串substr中第一個出現子 字符串的 str位置,從位置開始 pos。0 若是substr不在,則 返回str。返回 NULL若是substr 或者str是NULL。

  注:pos必須大於第一次出現的位置,才能顯示第二次出現的位置

  SELECT LOCATE('bar', 'foobarbar', 5); //結果:7

  當小於等於第一次出現的位置(5)時,返回的仍是第一次出現的位置

  POSITION()

  參數:

  substr - - 要查詢的字符串

  str - - 字段名

  返回值:

  返回要查詢的字符串在被查詢字符串裏第一次出現的位置(和locate用法同樣,查了不少資料position是locate的別名)

  返回substr字符串在str出現的位置,沒有返回0

  用法:

  POSITION(substr IN str)

  SELECT POSITION('cn' IN 'aaaaacn'); //結果:6

  INSTR()

  返回值:無錫人流費用 http://www.xasgfk120.com/

  返回要查詢的字符串在被查詢字符串裏第一次出現的位置。這和LOCATE()的雙參數形式相同,只是參數的順序被顛倒。

  語法:

  INSTR(str,substr)

  返回substr字符串在str出現的位置,沒有返回0

  SELECT INSTR('aaaacom','com'); //結果:5

  FIND_IN_SET()

  返回在集合中的索引位置(豎向發展)

  語法:

  FIND_IN_SET(str,strlist)

  返回str1在strlist集合中的索引位置

  SELECT FIND_IN_SET('demo.com.cn',t.str) FROM `table` t;

  IN()

  返回值:

  返回在集合中的索引位置(同FIND_IN_SET)

  語法:

  str IN (strlist)

  返回str1在strlist集合中的索引位置

  SELECT 'demo.com.cn' IN(t.str) FROM `table` t;

  LIKE

  返回相似(模糊)字符的集合

  LIKE %str%

  返回以str相似的集合

相關文章
相關標籤/搜索