目录

select ABS(-33), CEIL(33.21), FLOOR(33.52) from dual;

select RAND(),RAND(10),RAND(10) from dual;

rand()函数:取0~1之间的随机数。
rand()可以有参数,参数是因子,也就是说,如果因子相同,那么返回的随机数也是相同的。
select ROUND(100.23),ROUND(100.235,2) from dual;

round()函数:如果只有一个参数,默认是保留0位小数,如果有两个参数,参数2是保留小数的位数。
与round()函数不同的是,截断函数truncate()只会截断,不会四舍五入。
select TRUNCATE(100.63,0),TRUNCATE(100.63,1) from dual;






select CONCAT('我思','故我','在') from dual;

select CONCAT_WS('、','哈尔滨','长春','沈阳') from dual;

select INSERT('helloworld',2,3,'AAA') from dual;

此函数的意思是,字符串helloworld取第二个下标处,往后数三个(包括下标2),替换成AAA。
注意:mysql中,下标是从1开始的。
select REPLACE('helloworld','hello','hi') from dual;

select LEFT('helloworld',5),RIGHT('helloworld',5) from dual;

select LPAD('hello',10,'*'),RPAD('hello',10,'*') from dual;

意思如何字段长度不满足第二个参数,则用第三个参数补全。
去除首尾空格,中间空格不去掉。
select TRIM(' he ll o ') from dual;

select TRIM('o' from 'oheolloo') from dual;

去除收尾带o的字符串。
select REPEAT('abc',3) from dual;

select SUBSTR('helloworld',2,2) from dual;

截取helloworld从下标2开始,往后两位的结果。
select LOCATE('c','abcdefg'),LOCATE('z','abcdefg') from dual;

注意:如果没有出现过,则返回0。
select ELT(3,'a','b','c','d','e') from dual;


select CURDATE(),CURTIME(),NOW() from dual;


select UNIX_TIMESTAMP(),UNIX_TIMESTAMP(now()),FROM_UNIXTIME(UNIX_TIMESTAMP()) from dual;




- SELECT
- EXTRACT(MINUTE FROM NOW()),
- EXTRACT(WEEK FROM NOW()),
- EXTRACT(QUARTER FROM NOW()),
- EXTRACT(MINUTE_SECOND FROM NOW())
- FROM
- DUAL;



- SELECT
- last_name,
- salary,
- IF (
- salary >= 6000,
- '高工资',
- '低工资'
- )
- FROM
- employees;

- SELECT
- last_name,
- commission_pct,
- IFNULL (
- commission_pct,
- 0
- )
- FROM
- employees;

- SELECT
- last_name,
- salary,
- CASE
- WHEN salary >= 15000 THEN
- '高富帅'
- WHEN salary >= 10000 THEN
- '潜力股'
- WHEN salary >= 8000 THEN
- '一般人'
- ELSE
- '草根'
- END
- FROM
- employees;

