函数的种类:
  • 算数函数(数值计算的函数)
  • 字符串函数(字符串操作的函数)
  • 日期函数(用来进行日期操作的函数)
  • 转换函数(用来转换数据类型和值的函数)
  • 聚合函数(用来进行数据聚合的函数)

算数函数(+-*/):

1.ABS()——函数(计算绝对值)

select m,abs(m) as abs_col from SampleMath;

2.mod()——求余函数

-- 计算n/p的余数(SQL Server不支持此函数)
select n,p, mod(n,p) as mod_col from SampleMath;

3.round()——四舍五入函数,round(对象数值,保留的小数的位数)

-- 对m列的数值进行n列位数的四舍五入处理。
select m, n , round(m,n) as round_col from SampleMath;

字符串函数

1.|| ——字符串拼接(此函数无法在mysql及sql server中运行)

select str1, str2, str1||str2 as str_concat from SampleStr;

2.length(字符串)——字符传长度函数(确认字符串中包含多少个字符)

select str1, length(str1) as len_str from SampleStr;

3.lower(字符串)——小写转换,只能针对英文字母使用

select str1, lower(str1) as low_str
from SampleStr
where str1 in ('ABC', 'aBC', 'abc', '山田');

4.replace(对象字符串,替换前的字符串,替换后的字符串)——将字符串替换成其他字符串

-- 如果str1包含str2,则将str1中的str2替换成str3
select str1, str2, str3, replace(str1, str2, str3) as rep_str
from SampleStr;

5.substring函数——字符串截取(是适用于postgresql 和 mysql)

-- substring(对象字符串 from 截取的起始位置 for 截取的字符串)
-- 截取出str1中的第三第四个字符串
select str1, substring(str1 from 3 for 2) as sub_str from SampleStr;

6.upper(字符串)——小写转大写

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

日期函数

1.CURRENT_DATE ——当前日期(返回当前日期)

-- mysql写法
select CURRENT_DATE; -- oracle写法
select CURRENT_DATE from dual;

2.CURRENT_TIME ——当前时间

select CURRENT_TIME;

3.CURRENT_TIMESTAMP ——当前日期和时间

select CURRENT_TIMESTAMP;

4.EXTRACT(unit FROM date)——截取日期元素,截取出日期的一部分(年/月/日小时/秒等)

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;

转换函数

1.CAST()——类型转换

-- CASE(转换前的值 AS 转换后的数据类型)
select CAST('00001' AS SIGNED INTEGER) AS int_col;

2.将字符转换为日期类型

select cast('2018-11-12' AS DATE) AS sate_col;

3.COALESC()E——将null转换为其他值

COALESCE(参数1,参数2,参数3.....)参数个数时可变的,可以无限个。

--SQL Server, PostgreSQL, MySQL
SELECT COALESCE(NULL, 1) AS col_1,
COALESCE(NULL, 'test', NULL) AS col_2,
COALESCE(NULL, NULL, '2009-11-01') AS col_3; -- 将字段str2中的null值转成字符串为null的值。
select COALESCE(str2,'null') from samplestr;

(expression_1, expression_2, ...,expression_n)依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。使用COALESCE在于大部分包含空值的表达式最终将返回空值。

建表语句

 -- DDL:创建表
CREATE TABLE SampleMath
(m NUMERIC (10,3),
n INTEGER,
p INTEGER); -- DML:插入数据
START 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; --MySQL
--DDL:创建表
CREATE TABLE SampleStr
(str1 VARCHAR(40),
str2 VARCHAR(40),
str3 VARCHAR(40)); --DML:插入数据
START 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' , 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'); COMMIT;

SQL几种常用的函数的更多相关文章

  1. 剑指Offer——常用SQL语句、存储过程和函数

    剑指Offer--常用SQL语句.存储过程和函数 常用SQL语句 1.在MySQL数据库建立多对多的数据表关系 2.授权.取消授权 grant.revoke grant select, insert, ...

  2. 浅谈MySQL中优化sql语句查询常用的30种方法 - 转载

    浅谈MySQL中优化sql语句查询常用的30种方法 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使 ...

  3. sql server 常用的函数小汇

    摘录些许sqlserver 常用到的一些函数,便于日常学习使用 一.字符转换函数1.ASCII()返回字符表达式最左端字符的ASCII 码值.在ASCII()函数中,纯数字的字符串可不用‘’括起来,但 ...

  4. SQL点滴30—SQL中常用的函数

    原文:SQL点滴30-SQL中常用的函数 该文章转载自http://www.cnblogs.com/jiajiayuan/archive/2011/06/16/2082488.html 别人的总结,很 ...

  5. SQL Server 中截取字符串常用的函数

    SQL Server 中截取字符串常用的函数: 1.LEFT ( character_expression , integer_expression ) 函数说明:LEFT ( '源字符串' , '要 ...

  6. php八种常用函数

    八种常用的数学函数: ①  abs(x):求绝对值 ②  ceil(x),floor(x):向上/下取最接近的整数 ③  cos(x),sin(x),tan(x):三角函数 ④  min(),max( ...

  7. Sql server 经典常用函数

    ..STUFF()用另一子串替换字符串指定位置.长度的子串.STUFF (<character_expression1>, <start_ position>, <len ...

  8. 【SQL】四种排序开窗函数

    一 .简单了解什么是开窗函数 什么是开窗函数,开窗函数有什么作用,特征是什么? 所谓开窗函数就是定义一个行为列,简单讲,就是在你查询的结果上,直接多出一列值(可以是聚合值或是排序号),特征就是带有ov ...

  9. sql常用格式化函数及字符串函数

    一.常用格式化函数 1.日期转字符串 select to_char(current_timestamp, 'YYYY-MM-DD HH24:MI:SS') YYYY:年份 MM:月份号(01-12) ...

随机推荐

  1. Spark SQL Catalyst源代码分析之UDF

    /** Spark SQL源代码分析系列文章*/ 在SQL的世界里,除了官方提供的经常使用的处理函数之外.一般都会提供可扩展的对外自己定义函数接口,这已经成为一种事实的标准. 在前面Spark SQL ...

  2. Kaggle "Microsoft Malware Classification Challenge"——就是沙箱恶意文件识别,有 Opcode n-gram特征 ASM文件图像纹理特征 还有基于图聚类方法

    使用图聚类方法:Malware Classification using Graph Clustering 见 https://github.com/rahulp0491/Malware-Classi ...

  3. codeforces round #427 div2

    A:读懂题,乘一下判断大小就行了 #include<bits/stdc++.h> using namespace std; int main() { int s, v1, v2, t1, ...

  4. openstack Aio env deubg

  5. openStack Packages yum upgrade

    依赖关系解决 ============================================================================================= ...

  6. MSP430:管脚的第二功能选择

    之前在使用PWM,AD时候用到过第二功能,不过都是copy没有注意过PXSEL究竟怎么设置,今天在设置晶振管脚时候遇到了麻烦,细致看了一下其实很简单,在SPEC的最后详细讲了每个管脚如何设置为其他功能 ...

  7. 3.4 目录和spooling

    文件管理部分主要讲文件目录.文件目录它是用于检索文件的.文件目录它是一种文件系统实现按0存取的一种重要手段.一个文件目录它由若干个目录项组成的.每一个目录项它记录了一个文件的相关信息.这个文件信息指明 ...

  8. PCB 规则引擎之脚本语言JavaScript应用评测

    世界上没有好做的软件,觉得好做,只是你的系统简单而已,而不是哪个行业简单,特别像我们PCB制造企业务逻辑的很复杂的,仅仅靠决策树中的每个节点布置决策逻辑是不能满足要求的,所以我们在制作PCB规则引擎必 ...

  9. json-server的关系图谱详解(Relationships)

    json-server的关系图谱 json-server是非常好用的一款模拟REST API的工具,文档也很详细和全面.详情:json-server而其中的关系图谱是它非常强大的一个功能,可以非常方便 ...

  10. codevs3287货车运输(最小生成树+LCA)

    3287 货车运输 2013年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond     题目描述 Description A 国有 ...