轉CB大佬的幾個有用的MySQL知識

2022-08-21 05:33:12 字數 1661 閱讀 4083

1.find_in_set函式

find_in_set(str,strlist); str是乙個字串 strlist是字串列表--乙個有多個子鏈被「,」分開的字串

有多種情況:

a.str為null 或者 strlist為null時返回null find_in_set(null,"1,2") 返回null

b.如果第乙個引數是乙個常數字串,而第二個是type set列,則 find_in_set() 函式被優化,使用位元計算

c.str不在strlist或者為空字串 時返回0 str中有「,」將報錯

select find_in_set('2','1,2');返回2 

select find_in_set('6','1'); 返回0 

select find_in_set('b','a,b,c,d') str為b在strlist中的第二個位置所以返回2

d.特殊情況: select * from user where find_in_set(id,"1,3,4,5,8");

類似於 select * from user where id in(1,3,4,5,8);

2.date_format(date,format)格式化日期

%a 縮寫星期名

%b 縮寫月名

%c 月,數值

%d 帶有英文本首的月中的天

%d 月的天,數值(00-31)

%e 月的天,數值(0-31)

%f 微秒

%h 小時 (00-23)

%h 小時 (01-12)

%i 小時 (01-12)

%i 分鐘,數值(00-59)

%j 年的天 (001-366)

%k 小時 (0-23)

%l 小時 (1-12)

%m 月名

%m 月,數值(00-12)

%p am 或 pm

%r 時間,12-小時(hh:mm:ss am 或 pm)

%s 秒(00-59)

%s 秒(00-59)

%t 時間, 24-小時 (hh:mm:ss)

%u 周 (00-53) 星期日是一周的第一天

%u 周 (00-53) 星期一是一周的第一天

%v 周 (01-53) 星期日是一周的第一天,與 %x 使用

%v 周 (01-53) 星期一是一周的第一天,與 %x 使用

%w 星期名

%w 周的天 (0=星期日, 6=星期六)

%x 年,其中的星期日是周的第一天,4 位,與 %v 使用

%x 年,其中的星期一是周的第一天,4 位,與 %v 使用

%y 年,4 位

%y 年,2 位

3.from_unixtime 和 unix_timestamp 是相反的時間函式

from_unixtime是將秒數指定格式轉化成日期 select from_unixtime( 1511280000, '%y年%m月%d日') 2023年11月22日

unix_timestamp是將日期轉化成秒數 select unix_timestamp('2017-11-22') ; 1511280000

幾個有用的巨集

分類 c c 1.列印錯誤資訊 如果程式的執行必須要求某個巨集被定義,在檢查到巨集沒有被定義是可以使用 error,warning列印錯誤 警告 資訊,如 ifndef unix error this section will only work on unix systems endif 只有 u...

幾個有用的巨集

1.列印錯誤資訊 如果程式的執行必須要求某個巨集被定義,在檢查到巨集沒有被定義是可以使用 error,warning列印錯誤 警告 資訊,如 ifndef unix error this section will only work on unix systems endif 只有 unix 巨集被...

轉 有用的blog

年底了,推薦幾個 blog。我的推薦標準 持續更新,在相關技術領域文章高質量,可能相對比較小眾。希望能給這幾位作者再帶來一點訂閱量,也讓他們寫就的東西有更多人受益。知道分子 gracecode 4g spaces 雲風,不管是不是遊戲迷,應該讀一下。雲風的 blog 不算小眾。排序沒有特別順序,如果...