mysql查詢語句常用字段操作函式

2022-05-18 20:04:49 字數 2535 閱讀 6160

一、concat()函式

1、功能:將多個字串連線成乙個字串。

2、語法:concat(str1, str2,...)

返回結果為連線引數產生的字串,如果有任何乙個引數為null,則返回值為null。

3、舉例:

例1:select concat (id, name, score) as info from tt2;

同時該函式可以實現某個字段加字首字尾:

新增字首

update `table` set field_name = concat("字首", field_name);

新增字尾

update `table` set field_name = concat(field_name, "字尾");

二、concat_ws()函式

1、功能:和concat()一樣,將多個字串連線成乙個字串,但是可以一次性指定分隔符~(concat_ws就是concat with separator)

2、語法:concat_ws(separator, str1, str2, ...)

說明:第乙個引數指定分隔符。需要注意的是分隔符不能為null,如果為null,則返回結果為null。

3、舉例:

例3:我們使用concat_ws()將 分隔符指定為逗號,達到與例2相同的效果:

select concat (',' , id, name, score) as info from tt2;

三、group_concat()函式

前言:在有group by的查詢語句中,select指定的字段要麼就包含在group by語句的後面,作為分組的依據,要麼就包含在聚合函式中。

1、功能:將group by產生的同乙個分組中的值連線起來,返回乙個字串結果。

2、語法:group_concat( [distinct] 要連線的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] ) 

說明:通過使用distinct可以排除重複值;如果希望對結果中的值進行排序,可以使用order by子句;separator是乙個字串值,預設為乙個逗號。

3、舉例:

語句 select locus,group_concat(id) from info where locus in('ab086827','af040764') group by locus; 的返回結果為

| locus         | group_concat(id) |

| ab086827 | 1,2                               |

| af040764 | 23,24                           |

四、字串擷取函式

1、從左開始擷取字串 

left(str, length) 

說明:left(被擷取字段,擷取長度) 

例:select left(content,200) as abstract from my_content_t 

2、從右開始擷取字串 

right(str, length) 

說明:right(被擷取字段,擷取長度) 

例:select right(content,200) as abstract from my_content_t 

3、擷取字串

substring(str, pos) 

substring(str, pos, length) 

說明:substring(被擷取字段,從第幾位開始擷取) 

substring(被擷取字段,從第幾位開始擷取,擷取長度) 如果擷取長度為0則表示擷取到最後一位

例:select substring(content,5) as abstract from my_content_t 

select substring(content,5,200) as abstract from my_content_t 

(注:如果位數是負數 如-5 則是從後倒數字數,到字串結束或擷取的長度) 

4、按關鍵字擷取字串 

substring_index(str,delim,count) 

說明:substring_index(被擷取字段,關鍵字,關鍵字出現的次數) 

例:select substring_index("blog.jb51.net",".",2) as abstract from my_content_t 

結果:blog.jb51 

(注:如果關鍵字出現的次數是負數 如-2 則是從後倒數,到字串結束)

五、批量替換  replace

update `table` set field_name = replace(field_name, "before_replace", "after_replace");

用該函式可以實現批量替換某個字段裡面的某一部分內容

mysql 常用字段型別 mysql 常用字段型別

tinyint m unsigned zerofill 1位元組 極小整數,資料型別用於儲存一些範圍的整數數值範圍 有符號 128 127.無符號 255 特別的 mysql中無布林值,使用tinyint 1 構造。smallint 2位元組 小整數有符號 32768 無符號 65535 mediu...

HTTP協議常用字段

uri 統一資源識別符號,不僅可以標識http,ftp等其他的網路資源 url 統一資源定位符 get 獲取乙個資源,同時引數直接跟在url後面,url長度受限制2048位元組 post 不僅可以獲取資源,還可以提交資源 譬如上傳檔案 引數放在請求體中,包大小4g head 只要響應頭,沒有響應體,...

Oracle常用字段型別

數字 number 8,3 數字型 一共8位 小數點後3位 decimal p,s 數字型別 integer 整數型別 小整數 float 浮點數型別 38位 雙精度 real 字元 varchar2 20 變長字串 2的優勢是國際化 長度0 4096 4k char n 定長字串 定長優勢 查詢時...