您的当前位置:首页SQL学习笔记2:函数运算

SQL学习笔记2:函数运算

2024-12-13 来源:哗拓教育

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’):将日期转为字符

显示全文