函数

一、字符串函数

常用的几个如下:

函数功能
CONCAT(s1, s2, …, sn) 字符串拼接,将s1, s2, …, sn拼接成一个字符串
LOWER(str) 将字符串全部转为小写
UPPER(str) 将字符串全部转为大写
LPAD(str, n, pad) 左填充,用字符串pad对str的左边进行填充,达到n个字符串长度
RPAD(str, n, pad) 右填充,用字符串pad对str的右边进行填充,达到n个字符串长度
TRIM(str) 去掉字符串头部和尾部的空格
SUBSTRING(str, start, len) 返回从字符串str从start位置起的len个长度的字符串
REPLACE(column, source, replace) 替换字符串

二、数值函数

常用的几个如下:

函数功能
CEIL(x) 向上取整
FLOOR(x) 向下取整
MOD(x, y) 返回x/y的模
RAND() 返回0~1内的随机数
ROUND(x, y) 求参数x的四舍五入值,保留y位小数

 

三、日期函数

常用的几个如下:

函数功能
CURDATE() 返回当前日期
CURTIME() 返回当前时间
NOW() 返回当前日期和时间
YEAR(date) 获取指定date的年份
MONTH(date) 获取指定date的月份
DAY(date) 获取指定date的日期
DATE_ADD(date, INTERVAL expr type) 返回一个日期/时间值加上一个时间间隔expr后的时间值
DATEDIFF(date1, date2) 返回起始时间date1和结束时间date2之间的天数

 

四、流程函数

常用的几个如下:

函数功能
IF(value, t, f) 如果value为true,则返回t,否则返回f
IFNULL(value1, value2) 如果value1不为空,返回value1,否则返回value2
CASE WHEN [ val1 ] THEN [ res1 ] … ELSE [ default ] END 如果val1为true,返回res1,… 否则返回default默认值
CASE [ expr ] WHEN [ val1 ] THEN [ res1 ] … ELSE [ default ] END 如果expr的值等于val1,返回res1,… 否则返回default默认值
CREATE TABLE `pms_brand` (
  `brand_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '品牌id',
  `name` char(50) DEFAULT NULL COMMENT '品牌名',
  `logo` varchar(2000) DEFAULT NULL COMMENT '品牌logo地址',
  `descript` longtext COMMENT '介绍',
  `show_status` tinyint(4) DEFAULT NULL COMMENT '显示状态[0-不显示;1-显示]',
  `first_letter` char(1) DEFAULT NULL COMMENT '检索首字母',
  `sort` int(11) DEFAULT NULL COMMENT '排序',
  PRIMARY KEY (`brand_id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COMMENT='品牌';
INSERT INTO `pms_brand` VALUES ('5', '华为', '1.jpg', '华为', '1', 'H', '1');
INSERT INTO `pms_brand` VALUES ('6', '小米', '2.jpg', null, '1', 'X', '2');
INSERT INTO `pms_brand` VALUES ('7', 'Apple', '3.jpg', 'Apple', '1', 'A', '3');
INSERT INTO `pms_brand` VALUES ('8', 'OPPO', '4.jpg', 'OPPO', '1', 'O', '4');
INSERT INTO `pms_brand` VALUES ('9', 'VIVO', '5.jpg', 'VIVO', '1', 'V', '5');
SELECT *,IF(brand_id IN (5,6),'中文品牌','英文品牌') AS brandType FROM pms_brand

SELECT IFNULL(descript,'未知') AS descript FROM pms_brand

SELECT (CASE WHEN `name`='华为' THEN '任正非'
             WHEN `name`='小米' THEN '雷军'
             ELSE '未知'
        END) AS CEO
FROM pms_brand


SELECT (CASE `name` WHEN '华为' THEN '任正非'
                    WHEN '小米' THEN '雷军'
                    ELSE '未知'
        END) AS CEO
FROM pms_brand

 

posted @ 2024-03-12 22:11  lucsa  阅读(3)  评论(0编辑  收藏  举报