SQL的单行函数

SQL的单行函数

sql函数是数据库的内置函数

单行函数对于每一行的数据计算后得到一行输出结果;

多行函数是多行数据参与运算后得到一行输出结果。

1.字符串函数

select xxx from dual(dual为空表,可以测试一些函数)

以下是一些常见字符串函数

[外链图片转存中…(img-BptzLNHX-1690564257019)]

注意:这些字符串从1开始(不是0)

如:

#转换大小写--‘ABCDef’分别转换为大小写
select upper ('ABCDef'),lower('AbcDEF') from dual;
+------------------+-----------------+
| upper ('ABCDef') | lower('AbcDEF') |
+------------------+-----------------+
| ABCDEF           | abcdef          |
+------------------+-----------------+
#字符串连接
 select concat('a','嘿嘿嘿') from dual;
+----------------------+
| concat('a','嘿嘿嘿') |
+----------------------+
| a嘿嘿嘿              |
+----------------------+
# 截取字符串
-- 第一个字符串表示被截取字符串,第二个参数表示从第几位开始截取,可以有第三个参数,表示截取几位
select substr ('asdfghuhd',5);

2.数学函数

以下是一些sql中经常用到的数学函数

[外链图片转存中…(img-AtzbQK2J-1690564257020)]

3.日期函数

当前日期函数

[外链图片转存中…(img-bPY80rBo-1690564257020)]

日期截取函数

[外链图片转存中…(img-pg503jFi-1690564257021)]

[外链图片转存中…(img-8H4iPIR5-1690564257021)]

image-20230729004330108

[外链图片转存中…(img-nNdJJmOJ-1690564257022)]

注意–日期增加函数DATA_ADD(date,INTERVAL expr type)

  • date是一个datetimedate
  • INTERVAL表示时间间隔,是固定写法
  • expr是对date进行加减法的一个表达式
  • type是预期的格式

type 值可以是**😗*

  • MICROSECOND 微秒
  • SECOND 秒
  • MINUTE 分钟
  • HOUR 小时
  • DAY 天
  • WEEK 周MONTH 月
  • QUARTER 季度
  • YEAR 年
  • MINUTE_SECOND 分钟:秒
  • HOUR_SECOND 小时:分钟 : 秒
  • HOUR_MINUTE 小时:分钟
  • DAY_SECOND 天 小时:分钟:秒
  • DAY_MINUTE 天 小时:分钟
  • DAY_HOUR 天 小时
  • YEAR_MONTH 年-月

可以被用在format字符串**😗*

  • %M 月名字(January……December)
  • %W 星期名字(Sunday……Saturday)
  • %D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)
  • %Y 年, 数字, 4 位
  • %y 年, 数字, 2 位
  • %a 缩写的星期名字(Sun……Sat)
  • %d 月份中的天数, 数字(00……31)
  • %e 月份中的天数, 数字(0……31)
  • %m 月, 数字(01……12)
  • %c 月, 数字(1……12)
  • %b 缩写的月份名字(Jan……Dec)
  • %j 一年中的天数(001……366)
  • %H 小时(00……23)
  • %k 小时(0……23)
  • %h 小时(01……12)
  • %I 小时(01……12)
  • %l 小时(1……12)
  • %i 分钟, 数字(00……59)
  • %r 时间,12 小时(hh:mm:ss [AP]M)
  • %T 时间,24 小时(hh:mm:ss)
  • %S 秒(00……59)
  • %s 秒(00……59)
  • %p AM或PM
  • %w 一个星期中的天数(0=Sunday ……6=Saturday )
  • %U 星期(0……52), 这里星期天是星期的第一天
  • %u 星期(0……52), 这里星期一是星期的第一天
示例
select date_add('2023-01-01',interval 1 second) from emp where deptno=20;
+------------------------------------------+
| date_add('2023-01-01',interval 1 second) |
+------------------------------------------+
| 2023-01-01 00:00:01                      |
| 2023-01-01 00:00:01                      |
| 2023-01-01 00:00:01                      |
| 2023-01-01 00:00:01                      |
| 2023-01-01 00:00:01                      |
+------------------------------------------+
5 rows in set (0.00 sec)

select date_add('2023-06-01',interval 20 day) from emp where deptno=20;
+----------------------------------------+
| date_add('2023-06-01',interval 20 day) |
+----------------------------------------+
| 2023-06-21                             |
| 2023-06-21                             |
| 2023-06-21                             |
| 2023-06-21                             |
| 2023-06-21                             |
+----------------------------------------+
5 rows in set (0.00 sec)

select date_add('2023-06-28',interval 1 year) from emp where deptno=20;
+----------------------------------------+
| date_add('2023-06-28',interval 1 year) |
+----------------------------------------+
| 2024-06-28                             |
| 2024-06-28                             |
| 2024-06-28                             |
| 2024-06-28                             |
| 2024-06-28                             |
+----------------------------------------+
5 rows in set (0.00 sec)

4-06-28 |
| 2024-06-28 |
±---------------------------------------+
5 rows in set (0.00 sec)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值