首页 > 代码库 > 6、函数、谓词、CASE表达式

6、函数、谓词、CASE表达式

6-1:各种各样的函数,根据用途函数可能分为算术函数、字符串函数、日期函数、转换函数和聚合函数。

6-1-1:函数和种类

  1、算术函数:用来进行数值计算的函数

  2、字符串函数:用来进行字符串操作的函数

  3、日期函数:用来进行日期操作的函数

  4、转换函数:用来转换数据类型和值的函数

  5、聚合函数:用来进行数据聚合的函数·

6-1-2:算术函数 

  1、四则运算:+(加法)、-(减法)、*(乘法)、/(除法)

 

-- 创建SampleMath表
CREATE TABLE SampleMath(
 m NUMERIC(10,3),  -- NUMERIC:全体位数据类型,小数位数
 n INTEGER,
 p INTEGER  
);
-- 插入数据
BEGIN TRANSACTION;
INSERT INTO SampleMath(m,n,p) VALUES(500,0,NULL);
INSERT INTO SampleMath(m,n,p) VALUES(-180,0,NULL);
INSERT INTO SampleMath(m,n,p) VALUES(NULL,NULL,NULL);
INSERT INTO SampleMath(m,n,p) VALUES(NULL,7,3);
INSERT INTO SampleMath(m,n,p) VALUES(NULL,5,2);
INSERT INTO SampleMath(m,n,p) VALUES(NULL,4,NULL);
INSERT INTO SampleMath(m,n,p) VALUES(8,NULL,3);
INSERT INTO SampleMath(m,n,p) VALUES(2.27,1,NULL);
INSERT INTO SampleMath(m,n,p) VALUES(5.555,2,NULL);
INSERT INTO SampleMath(m,n,p) VALUES(NULL,1,NULL);
INSERT INTO SampleMath(m,n,p) VALUES(8.76,NULL,NULL);
COMMIT;

技术分享

 2、ABS绝对值函数

  语法:ABS(数据)

SELECT m,ABS(m) AS abs_col
FROM SampleMath;

技术分享

   ABS(NULL)的值也为NULL。

3、MOD求余函数

    语法:MOD(被除数,除数)

 

SELECT n,p,MOD(n,p) AS mod_col
FROM SampleMath;

技术分享

4、ROUND四舍五入函数

  语法:ROUND(对象数值,保留小数的位数)

SELECT m,n,ROUND(m,n) AS round_col
FROM SampleMath;

技术分享

5、字符串函数

-- 创建SampleStr表
CREATE TABLE SampleStr(
 str1 VARCHAR(40),
 str2 VARCHAR(40),
 str3 VARCHAR(40)
); 
-- 插入数据
BEGIN TRANSACTION;
INSERT INTO SampleStr(str1,str2,str3) VALUES(opx,rt,NULL);
INSERT INTO SampleStr(str1,str2,str3) VALUES(abc,def,NULL);
INSERT INTO SampleStr(str1,str2,str3) VALUES(山田,太郎,是你);
INSERT INTO SampleStr(str1,str2,str3) VALUES(aaa,NULL,NULL);
INSERT INTO SampleStr(str1,str2,str3) VALUES(NULL,xyz,NULL);
INSERT INTO SampleStr(str1,str2,str3) VALUES(@!#$%,NULL,NULL);
INSERT INTO SampleStr(str1,str2,str3) VALUES(aBC,NULL,NULL);
INSERT INTO SampleStr(str1,str2,str3) VALUES(abc太郎,abc,ABC);
INSERT INTO SampleStr(str1,str2,str3) VALUES(abdcefabc,abc,ABC);
INSERT INTO SampleStr(str1,str2,str3) VALUES(micmic,i,I);
COMMIT;

技术分享

  1、||拼接函数

  语法:字符串1||字符串2(NULL与任务拼接都为NULL),MySQL使用CONCAT函数

SELECT str1,str2,str1||str2 AS str_concat --CONCAT(str1,str2)
FROM SampleStr;

技术分享

  2、LENGTH函数

  语法:LENGTH(字符串)

SELECT str1,LENGTH(str1) as len_str
FROM SampleStr;

技术分享

  3、LOWER小写转换函数与UPPER大写转换函数

  语法:LOWER(字符串) UPPER(字符串)

SELECT str1,LOWER(str1) AS low_str
FROM SampleStr
WHERE str1 IN (ABC,aBC,abc,山田);

技术分享

SELECT str1,UPPER(str1) AS up_str
FROM SampleStr
WHERE str1 IN (ABC,aBC,abc,山田);

技术分享

  4、REPLACE字符串的替换  

  语法:REPLACE(对象字符串,替换前的字符串,替换后的字符串)

SELECT str1,str2,str3,REPLACE(str1,str2,str3) AS rep_str
FROM SampleStr;

技术分享

  5、SUBSTRING字符串截取

   语法:SUBSTRING(对象字符串, FROM 截取的起始位置 FOR 截取的字符数)

SELECT str1,SUBSTRING(str1 FROM 3 FOR 2) AS sub_str
FROM SampleStr;

技术分享

6、日期函数

 

6、函数、谓词、CASE表达式