SQLPLUS的几个常用函数
程序员文章站
2022-06-29 12:54:35
...
SQL*PLUS常用函数
表DUAL
:该表属于SYS方案,但所有用户都可以使用DUAL名称直接访问它。用SELECT计算常量表达式、伪列等值时经常使用该表,因为它只返回一行数据,而使用其他表时可能返回多个数据行。另外这个表还主要用来满足SELECT命令的语法要求,因为Oracle中要求SELECT命令必须包含FROM子句。
字符串函数
函数名 | 功能 |
---|---|
CONCAT( string1, string2) | 连接两个字符串 |
LENGTH( string) | 返回字符串string 的长度 |
LOWER( string) | 将给定字符串string的全部字母变成小写 |
UPPER( string) | 将给定字符串string的全部字母变成大写 |
INITCAP(string) | 将给定字符串string的首字母变成大写,其余字母不变 |
INSTR( string, value) | 查询字符value在字符串string 中出现的位置 |
IPAD( string, length[, padding]) | 在string左侧填充padding指定的字符串直到达到length指定的长度,若未指定padding,则默认为用空格填充 |
RPAD( string, length[ , padding]) | 在string右侧填充padding指定的字符串直到达到length指定的长度,若未指定padding,则默认为用空格填充 |
LTRIM( string, [ trimming_value]) | 去掉字符串string 左边的由trimming_value 指定的字符 |
RTRIM( string, [ trimming_value]) | 去掉字符串string右边的由trimming_value 指定的字符 |
REPLACE( string, string1[ , string2]) | 替换字符串。在字符串string 中查找string1,并用string2替换。如果没有指定string2,则查找到指定的字符串时,删除该字符串 |
SUBSTR( string,start, [ count]) | 获取字符串string的子串。返回string中从start 位置开始长度为count的子串 |
SQL> SELECT UPPER('abc'),LOWER('ABC'),INITCAP('abcdef')
//将abc全部变成大写,将ABC全部变成小写,将abcdef的首字母变成大写
2 FROM dual;
UPP LOW INITCA
--- --- ------
ABC abc Abcdef
数值函数
函数名 | 功能 |
---|---|
ABS( value) | 返回给定数字表达式的绝对值 |
CEIL( value) | 返回大于或等于value的最小整数值 |
FLOOR( value) | 返回等于或小于value 的最大整数值 |
COS( value) | 求余弦值 |
COSH( value) | 求反余弦值 |
EXP( value) | 返回以e为底的指数值 |
LN( value) | 返回value的自然对数 |
POWER( value, exponent) | 返回value 的exponent次幂 |
SQRT( value) | 返回value的平方根 |
ROUND( value, precision) | 将value按precision精度进行四舍五入 |
MOD( value, divisor) | 返回value 除以divisor 的余数 |
TRUNC( value, precision) | 将value按precision精度进行截取,不进行四舍五入 |
日期和时间函数
函数名 | 功能 |
---|---|
ADD_MONTHS( date, number) | 在指定的日期date 上增加number个月 |
LAST_DAY(date) | 返回日期date所在月的最后一天 |
MONTHS_BETWEEN(date1, date2) | 返回date和date2之间隔多少个月 |
NEW_TME( date, current_zone, future_zone) | 将date从current_zone时区转换为future_zone时区 |
NEXT_DAY(date, ‘day’) | 返回指定日期(date) 后的星期(day) 对应的新日期 |
SYSDATE | 返回系统当前时间 |
CURRENT_TIMESTAMP | 返回当前的日期和时间 |
EXTRACT(c1 from d1) | 从当前d1中抽取c1指定的年、月、日、时、分、秒 |
SQL> SELECT MONTHS_BETWEEN(SYSDATE,'1-1月-2020')
//系统时间相隔2020年1月1日多少个月
2 FROM dual;
MONTHS_BETWEEN(SYSDATE,'1-1月-2020')
------------------------------------
3.2550224
转换函数
函数名 | 功能 |
---|---|
TO_CHAR( date,‘format’) | 按照format的格式将日期型数据转换为字符串 |
TO_NUMBER(char) | 将包含了数字的字符串转换为数值型数据 |
TO_DATE( string,‘format’) | 按照format的格式将string字符串数据转换为日期型 |
CHARTOROWID( char) | 将字符串转换为ROWID类型 |
ROWIDTOCHAR(x) | 将ROWID类型转换为字符串类型 |
SQL> SELECT TO_NUMBER( (TO_CHAR(SYSDATE,'MM')) )+10
//先把系统时间按月转换成字符串再转换成数字才可以进行加减运算
2 FROM dual;
TO_NUMBER((TO_CHAR(SYSDATE,'MM')))+10
-------------------------------------
14
上一篇: Hibernate缓存机制实例代码解析
下一篇: Java循环复杂map,foreach