1:字符串函数
①to_char:将其它数据类型(数值型、日期)转换为字符串。
a:将数值型转换为字符串,转换的格式可以用9或者0、千位分隔符(,)和小数点(.)。其中9和0的区别为如果数字参数位置上没有数字那么'0'会强制保留为0,9会是空的(小数除外)。实例如下:
注:在数字转换为字符串是可以加上货币说明符得到一定的货币格式字符串如下:
b:将日期转换为字符串,最常见的日期格式就是'yyyy-mm-dd'了。其它的日期格式请查找其它文档。
②:大小写转换lower()---返回小写字符串,upper()---返回大写字符串 ,initcap()---单词首字母大写 如下:
③length()---字符串长度
④去空白 lpad()---除左边空白,rpad()---除右边空白,trim()---除首尾空白
⑤substr()---截取字符串如下:oracle计算字符的位置是从1开始的 ,不像其他编程语言字符串开始的位置是0
⑥instr(str1,str2,startIndex,count)---获得str2在str1中出现的位置,strartIndex 默认值为str1的开始,count默认为1(第几次出现)
⑦translate(str1,str2,str3)----替换字符
检索str1中的每个字符,如当前为x
if(在str2中找'x'如果能找到,位置为n){在str3中找位置为n的字符并返回(如果没有就返回空字符串),用返回的字符串替换str1中的字符x}else{什么也不做} 实例如下:
⑧chr()将ascii码转为字符串
2:数学函数
①abs()取绝对值
②round(parm1,position)四舍五入
ppostition是要保留到哪一位正数的话就是小数点后面。负数就是小数点前面。如果省略position就是0为保留整数。
③取整ceil()---向上取整(大于等于该参数的整数),floor()---向下取整(小于等于某个数的整数)
④trunc()----数字的截断,没有四舍五入,使用和round一样
⑤mod()---取余操作,可以对0取余数,结果还是数本身
⑥平方根和乘方运算 sqrt()----平方根,power(x,y)[x的y次方为]----乘方
⑦判断数值的正负sign(x),如果>0返回1,<0为-1 ,==0为0 即 结果为x>0?1:(x==0?0:-1)
⑧将字符串转换为数值to_number(x),如果x不能转换为字符串oracle抛出错误。
3:日期函数
①to_date()将字符串转换为日期
②last_day()---返回一个日期月份的最后一天
③add_month(date,n) 给指定日期加上n个月后的日期
④months_between(date1,date2)--返回两个日期所差月数date1早于date2返回负数
⑤ 返回日期的某个部分extract()。和to_char也可以获得日期的某个部分。extract() 返回的是数值型,而
to_char返回的是字符串
extract 的hour,minute,second只能从时间型(timestamp)中获得。
格式 | 名称 |
year | 年份 |
month | 月 |
day | 天 |
hour | 小时 |
minute | 分钟 |
second | 秒数 |
tmezone_hour | 当前时区小时数 |