MySQL 長知識函式

2021-10-23 04:37:07 字數 1654 閱讀 2930

用法: find_in_set(str,strlist); 在strlist中查詢str,找到就範圍所在的位置, strlist必須是用','分割的字串

例子 :

select find_in_set('1','1,312,3'); //返回1

select find_in_set('3','1,312,3'); //返回3

select find_in_set('12','1,312,3'); //返回0

其他用法

指定排序: select * from user order by find_in_set( id, '783, 769, 814, 1577, 1769' ) ;

用法: concat(str1,str2,str3[,str4....]); 字串鏈結操作,如果有任何乙個引數為null,則返回值為null。

例子 :

select concat('a','b','c');// 返回abc

select concat('a',null);// 返回null

用法: concat_ws(separator, str1, str2); 用separator作分割符,鏈結str1,str2.. 

例子 :

select concat_ws('_','a','b','c');// 返回a_b_c

用法: group_concat(filedname) ; 將group by產生的同乙個分組中的值連線起來,返回乙個字串結果。

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

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

例子 :

select id,(select group_concat(name) from areas  b where b.code=a.province) from user_basic a;

作用: 將時間戳轉化為時間格式 

用法: from_unixtime(unix_timestamp,format);  unix_timestamp=>時間戳,format=>時間格式

例子 :

select from_unixtime(1586347261,'%y%m%d%h%i%s'); 返回20200408200101

作用: 將時間格式轉化為時間戳 (與from_unixtime作用相反)

用法: unix_timestemp(date);  date=>時間格式形式的字串

例子 :

select unix_timestemp('2020-04-08 20:01:01'); //返回1586347261

select … from table where exists (subquery)

作用:將主查詢的資料,放到子查詢中做條件驗證,根據驗證結果(true 或 false)來決定主查詢的資料結果是否得以保留。

例子 :    

select * from article where exists (select * from user where article.uid = user.uid)

參考: 

參考:

長知識了 hpp

之前學習c 就知道.h cpp 現在盡了新的公司,並不知道.hpp是個什麼鬼,哈哈哈 h hpp cpp 顧名思義 hpp,本質就是將.cpp的實現 混入.h標頭檔案當中,定義與實現都包含在同一檔案,則該類的呼叫者只需要include該.hpp檔案即可,無需再將cpp加入到project中進行編譯。...

長知識 電腦介面

因硬體不斷公升級,電腦的介面型別越來越多,而且有些介面外觀相似,不易分辨,很多人使用時不清楚各界面的功能,本文簡單介紹下電腦常用的介面。usb介面是電腦上最常見的介面,電腦連線外部裝置的主要介面。手機 移動儲存 鍵鼠 印表機等裝置都可以通過usb介面與電腦連線。usb介面常見有2.0和3.0版本,3...

mysql 長連線 聊天室 mysql長連線

長連線是幹嘛的 它是做連線復用的 在openresty中的lua resty mysql 裡 connect方法去連線mysql時會去ngx lua cosocket連線池中尋找是否有可用連線 如果有就直接復用 如果沒有就與mysql建立新連線,連線成功後立即將這個連線放入ngx lua cosoc...