####################
#各种各样的函数
####################
CREATE TABLE SampleMath
(m NUMERIC (10,3), n INTEGER, p INTEGER);
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);
select * from SampleMath;
-- 1.常见算术函数
/*
1.abs_col:ABS(m)的返回值(绝对值)
2.mod_col:MOD(n,p)的返回值(n÷p的余数)
3.round_col:ROUND(m,n)的返回值(四舍五入的结果
*/
CREATE TABLE SampleStr
(str1 VARCHAR(40), str2 VARCHAR(40), str3 VARCHAR(40));
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' ,NULL ,NULL);
INSERT INTO SampleStr (str1, str2, str3) VALUES ('abc太郎' ,'abc' ,'ABC');
INSERT INTO SampleStr (str1, str2, str3) VALUES ('abcdefabc' , 'abc' ,'ABC');
INSERT INTO SampleStr (str1, str2, str3) VALUES ('micmic' ,'i' ,'I');
-- 2.常见字符串函数
#1.拼接concat()
SELECT str1, str2, str3, CONCAT(str1, str2, str3)
AS str_concat FROM SampleStr;
#2.length()
#3.lower() upper()
#4.REPLACE(对象字符串,替换前的字符串,替换后的字符串)
insert(对象字符串,起始位置,替换长度,替换的后的字符串)
#5.substring(对象字符串 FROM 截取的起始位置 FOR 截取的字符数)
-- 3.常见日期函数
#1.select current_date 返回当前日期
#2.select current_time 返回当前时间
#3.select current_timestamp;返回当前时间和日期
#4.extract(日期元素 from 日期)
SELECT CURRENT_TIMESTAMP,
EXTRACT(YEAR FROM CURRENT_TIMESTAMP) AS year,
EXTRACT(MONTH FROM CURRENT_TIMESTAMP) AS month,
EXTRACT(DAY FROM CURRENT_TIMESTAMP) AS day,
EXTRACT(HOUR FROM CURRENT_TIMESTAMP) AS hour,
EXTRACT(MINUTE FROM CURRENT_TIMESTAMP) AS minute,
EXTRACT(SECOND FROM CURRENT_TIMESTAMP) AS second;
-- 4.转换函数
-- 类型转换&值的转换
-- 类型转换
#1.CAST(转换前的值 AS 想要转换的数据类型)
SELECT CAST('0001' AS SIGNED INTEGER) AS int_col;
SELECT CAST('2009-12-14' AS DATE) AS date_col;
-- 值的转换
#1. 将null转换其他值
-- COALESCE(数据1,数据 2,数据 3……)
-- 该函数会返回可变参数 A 中左侧开 始第1个不是 NULL的值
SELECT COALESCE(NULL, 1) AS col_1,
COALESCE(NULL, 'test', NULL) AS col_2,
COALESCE(NULL, NULL, '2009-11-01') AS col_3;
SELECT COALESCE(str2, 'NULL') FROM SampleStr;-- 将null变成了'null'
select str2 from samplestr;
SQL中各种函数
猜你喜欢
转载自blog.csdn.net/kylin_learn/article/details/81142585
今日推荐
周排行