SQL学习笔记——函数(函数的基本种类,算数函数,字符串函数,日期函数,转换函数)

1、函数

就是输入某一值得到相应输出结果的功能,输入值称为参数,输出值称为返回值。函数分类:

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

2、算数函数 

 算数函数是最基本的函数,包含加减乘除四则运算。

(numeric是大多数DBMS 都支持的一种数据类型,通过numeric( 全体位数, 小数位数) 的形式来指定数值的大小)

1、绝对值函数abs, abs 函数的参数为null时,结果也是null。并非只有abs 函数如此,其实绝大多数函数对于null都返回null 

select <列名>,
abs(<列名>) 
from <表名>;

2、求余函数mod ,因为小数计算中并没有余数的概念,所以只能对整数类型的列使用mod函数。下面的代码为(列名1%列名2)的结果

select <列名>, <列名>,
mod(<列名1>, <列名2>)
from <表名>;

 3、四舍五入函数round

round(对象数值,保留小数的位数)

select <列名>, <列名>,...,
round(<列名>, 位数)
from <表名>;

3、字符串函数

1、字符串拼接函数 ||。进行字符串拼接时,如果其中包含null,那么得到的结果也是null。再某些DBMS中,使用“+”和concat进行字符串的拼接。

字符串1||字符串2

select <列名>, <列名>,...,
<列名>||<列名>
from <表名>;

select <列名>, <列名>,...,
<列名>||<列名>||<列名>
from <表名>;


concat(字符串1,字符串2)

select <列名>, <列名>,...,
concat(<列名>,<列名>)
from <表名>;

字符串1+字符串2

select <列名>, <列名>,...,
<列名>+<列名>
from <表名>;

2、字符串长度函数length

length(字符串);

select <列名>,
length(<列名>)
from <表名>;

3、小写转换函数lower,将参数中的字符串全都转换为小写,该函数并不适用于英文字母以外的场合,此外,该函数并不影响原本就是小写的字符

lower(字符串)

select <列名>,
lower(<列名>)
from <表名>;

4、大写转换函数upper, 将参数中的字符串全都转换为大写,该函数并不适用于英文字母以外的场合,此外,该函数并不影响原本就是大写的字符

upper(字符串)

select <列名>,
upper(<列名>)
from <表名>;

5、字符串替换函数replace,将字符串的一部分替换为其他的字符串

replace(字符串1,字符串2,字符串3)
--将字符串1中出现的字符串2都替换为字符串3

select <列名1>, <列名2>, <列名3>,
replace(<列名1>, <列名2>, <列名3>)
from <表名>;
--将<列名1>中字符串的<列名2>的部分,替换为<列名3>

6、字符串截取函数substring

substring(对象字符串 from 截取的起始位置 for 截取的字符数)

select <列名>,
substring(<列名> from 3 for 2)
from <表名>;

4、日期函数

1、当前日期函数current_date,能够返回SQL执行的日期,也就是该函数执行时的日期

select current_date

2、当前时间函数current_time,能够取得SQL执行的时间,也就是该函数执行时的时间

select current_time

 3、当前日期和时间函数current_timestamp,具有上面两者的功能,同时得到当前的日期和时间

select current_timestamp

 4、截取日期元素函数extract,可以截取出日期数据中的一部分,例如“年” “月”,或者“小时”“秒”等。

extract(日期元素 from 日期)

select current_timestamp,
extract(year from current_timestamp),
extract(second from current_timestamp);

5、转换函数

1、类型转换cast函数。

cast(转换前的值 as 想要转换的数据类型)

--将字符串类型转换为数值类型
select cast('01' as signed integer)
--显示结果为“1”

--将字符串类型转换为日期类型
select cast('2009-12-14' as date)

2、将null转换为其他值coalesce函数,该函数会返回参数列表中左侧开始第1 个不是null的值。

coalesce(数据1,数据2,数据3……)

select coalesce(null, 1) as col_1,--返回1
coalesce(null, 'test', null) as col_2,--返回test
coalesce(null, null, '2009-11-01') as col_3;--返回2009-11-01

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值