Mysql常见函数及其用法

这篇文章主要讲解mysql常见函数的用法和意义,包括字符串函数、数值函数、日期函数、流程函数。


1.字符串函数

① CONCAT(S1,S2,…,Sn):讲S1到Sn拼接为一个字符串;
ここに画像の説明を挿入

② LOWER(Str):将字符串Str全部转换为小写;
ここに画像の説明を挿入

③ UPPER(Str):将字符串Str全部转换为大写;
ここに画像の説明を挿入

④ LPAD(Str,n,pad):用字符串pad对字符串Str左边进行填充,达到n个字符的长度;
ここに画像の説明を挿入

⑤ RPAD(Str,n,pad):用字符串pad对字符串Str右边进行填充,达到n个字符的长度;
ここに画像の説明を挿入

⑥ TRIM(Str):去掉字符转头部和尾部的空格;
ここに画像の説明を挿入

⑦ SUBSTRING(Str,Start,Len):截取字符串Str从Start开始Len个长度的字符串。
ここに画像の説明を挿入


2. 数值函数

① CEIL(X):向上取整;
ここに画像の説明を挿入

② FLOOR(X):向下取整;
ここに画像の説明を挿入

③ MOD(X,Y);返回X/Y的模;
ここに画像の説明を挿入
④ RAND():返回0~1之间的随机数;
ここに画像の説明を挿入

⑤ ROUND(X,Y):求X的四舍五入的值,并保留Y位小数;
ここに画像の説明を挿入例:生成一个6位数的随机验证码:
ここに画像の説明を挿入


3. 日期函数

① CURDATE():返回当前日期;
ここに画像の説明を挿入

② CURTIME():返回当前时间;
ここに画像の説明を挿入

③ NOW();返回当前日期+时间;
ここに画像の説明を挿入

④ YEAR(date):获取指定date的年份;
ここに画像の説明を挿入

⑤ MONTH(date):获取指定date的月份;
ここに画像の説明を挿入

⑥ DAY(date):获取指定date的天数;
ここに画像の説明を挿入

⑦ DATE_add(date, INTERVEL expr type):返回一个指定日期/时间 date加上一个expr值之后的时间值;
ここに画像の説明を挿入

⑧ DATEDIFF(date1, date2):返回两个日期之间间隔的天数;
ここに画像の説明を挿入


4. 流程函数

① IF(value, t, f):如果value的表达式为true,返回t,否则返回;
ここに画像の説明を挿入

② IFNULL(value1, value2): value1 が空でない場合は value1 を返し、それ以外の場合は value2 を返します。
ここに画像の説明を挿入

③ CASE WHEN [val1] THEN [res1]…ELSE [DEFAULT] END: val1 が true の場合、戻り値は res1、…それ以外の場合、戻り値はデフォルト、学生情報テーブル Student とスコア テーブルの 2 つのテーブルがあります。 scのテーブルは以下の通りです
。 80点以上を優秀、60点以上を合格、それ以外を不合格と判断する必要があります。 学生テーブル:
スコアここに画像の説明を挿入
テーブル:
ここに画像の説明を挿入
SQL文は次のように書きます。

select s.*, (case when sc.score>80 then '优秀' when sc.score>60 then '及格' else '不及格' end )as 'level' from student as s
 left join sc on s.SId = sc.SId;

実行結果は次のようになります。
ここに画像の説明を挿入
④ CASE [expr] WHEN [val1] THEN [res1]…ELSE [defalut] END: expr の値が val1 と等しい場合は res1 を返し、それ以外の場合は値 defalut を返します。

おすすめ

転載: blog.csdn.net/m0_37742400/article/details/131501029
おすすめ