SQL学习笔记2:函数运算

1. substr:截取字符串

substr(列名,截取起始数,截取长度)       

#截取起始数和截取长度均为数字。截取起始数为负数时,表示从倒数第几位开始截取。

例:select substr(‘YOU’,3,1) form dual        #dual是一张虚构表,from dual可看作from自身。

2. trim:去掉前后两头空格,中间的空格去不掉

3. replace:替换字符。(未改变原始数据,创造了新的列)

replace(列名,原字符,新字符)        #区分大小写

例:去除“__I_LOVE_YOU__"中所有的“_”

          select replace(‘  I LOVE YOU  ',",") from dual

4. upper/lower:转化大/小写

5. length:查询字符串长度(不分中英文)

6. ABS:取绝对值(只针对数字型或文本型的数字)

7. mod:取余数

8. nvl:将空值转化为指定值

9. instr:在一列中搜索指定字符,返回指定字符所在位置

instr(列,指定的搜索内容,搜索起始点,第几次出现)

#搜索起始点和第几次出现默认为1;搜索起始点为负数时按从右到左的顺序找,但返回的仍是正序位置。

instr在条件句中可代替like。使用instr(列,字符)>0即可。

10. greatest:返回多列中较大值

greatest(列,列,列)

注:比较对象中若有空值需转化,否则会返回空值。

11. round、trunc:指定精度进行舍入(针对数字型)

round(列,位数):四舍五入                    #位数为负数时代表舍弃小数点前多少位

trunc(列,位数):直接舍弃                    #位数为负数时代表舍弃小数点前多少位

trunc(日期,截点格式)             #去除日期的时分秒,针对日期型。截点格式必须加引号,省略默认认为‘dd’。截点格式表示保留到该位,该位后化为最小值。ss:秒;mi:分;hh:时;dd:天;mm:月;yyyy:年。

例:select trunc(sysdate,‘mi’) from dual            #将系统当前时间保留到分的格式

12. 日期增减:日期型数据+/-数字

select sysydate+1 from dual

select date‘1991-01-01’-1 from dual

#select ‘1991-01-01’+1 from dual             不可以这么写,会报错,必须是日期型的数据

13. add_month:月份的增减

14. month_between:两个日期之间的月份

month_between(日期1,日期2)

15. last_day:查询指定日期所属月份的最后一天

16. 其他数据与日期型数据的转换

to_date(‘1991-01-01’,‘yyyy-mm-dd’):将字符型转为日期型

date‘1991-01-01’:将数据转为日期

to_char(sysdate,‘mi’):将日期转为字符

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.简介 数据存储有哪些方式?电子表格,纸质文件,数据库。 那么究竟什么是关系型数据库? 目前对数据库的分类主要是...
    乔震阅读 5,900评论 0 2
  • 一、字符串函数 1.01、lpad()函数——左补全字符串 lpad(字符串,显示位数,补全显示的字符) sele...
    lingoling阅读 4,003评论 0 0
  • ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year:...
    雨一流阅读 3,916评论 0 2
  • 文|谢东浮 “嘶,呼,你尝尝看,这栗子金黄金黄的,还烫手呢。” 小女孩捧着一袋刚出锅的糖炒栗子吃着,不忘偶尔给身边...
    谢东浮阅读 1,742评论 0 1
  • 以下是一些零碎的课堂笔记和心得,做个记录,也许一些朋友也会觉得有趣: 第一次课 10月12日 现代舞的特点: 1....
    见容阅读 10,400评论 0 8

友情链接更多精彩内容