Oracle基本使用——第五章 Oracle函数

简介: Oracle基本使用——第五章 Oracle函数http://www.bieryun.com/3390.html 第五章 Oracle函数 5.1 数学函数 --数值数据(绝对值,三角函数,对数函数,随机函数) 绝对值函数 ABS(x)     平方根函数 SQRT(x) 求余函数 MOD(x,.

Oracle基本使用——第五章 Oracle函数

第五章 Oracle函数

5.1 数学函数

--数值数据(绝对值,三角函数,对数函数,随机函数)

绝对值函数 ABS(x)    
平方根函数 SQRT(x) 求余函数 MOD(x,y)
获取整数函数 CEIL(x)(不小于x的最小整数) FLOOR(x)(不大于x的最大整数)  
获取随机数函数 DBMS_RANDOM.RANDOM(返回一个随机数) DBMS_RANDOM.VALUE(x,y)(产生一个x~y的随机数)  
                  四舍五入函数 ROUND(x)

ROUND(x,y)(保留到小数点后y位;若y为负,保留到小数点左边

y位)

TRUNC(x,y)(舍去小数点后y位数字;若y=0,则结果不包含小数部分;若为负,则截去x小数点左起第y位开始后面的值)
符号函数 SIGN(x)(x值为负,0,正返回-1,0,1) SIGN(n)(返回参数n的符号,负,0,正返回-1,0,1)  
幂运算函数 POWER(x,y)(x的y次方) EXP(x)(e的x方)  
对数运算函数 LOG(x,y)(以x为底y的对数) LN(x)(返回x的自然对数,x>0)  
正弦函数 SIN(x) 反正弦函数 ASIN(x)
余弦函数 COS(x) 反余弦函数 ACOS(x)
正切函数 TAN(x) 反正弦函数 ATAN(x)

5.2 字符串函数

计算字符串长度函数 LENGTH(str) 字节长度
合并字符串函数 CONCAT(s1,s2)  
字符串搜索函数 INSTR(s,x) 返回x字符在字符串s的位置
字母大小写转换函数:UPPER(str)(转换大写) LOWER(str)(转换小写) INITCAP(str)(单词首字母转换成大写)
获取指定长度字符串的函数 SUBSTR(s,m,n) m截取位置,n截取长度
替换字符串的函数 REPLACE(s1,s2,s3) s1搜索的目标字符串;s2要搜索的字符串;s3替换的字符串,若无则删除s2
删除字符串首尾指定字符函数 LTRIM(s,n)(删除指定左侧字符,n为需查找的字符;n不确定时删除左侧空格) RTRIM(s,n)(同左)
删除指定字符串的函数 TRIM([LEADING/TRAILING/BOTH][trim_character FROM]trim_source) LEADING删除trim_source的前缀字符;TRAILING删除其后缀;BOTH删除其前后缀;trim_character 删除的指定字符
字符集名称和ID互换函数 NLS_CHARSET_ID(str)(字符集对应的id) NLS_CHARSET_NAME(number)(字符集id对应的名称)

5.3 日期和时间函数

获取当前日期和时间函数 SYSDATE SYSTIMESTAMP
获取时区函数 DBTIMEZONE(当前数据库的时区) SESSIONTIMEZONE(当前会话的时区)
获取指定月份最后一天的函数 LAST_DAT(date)  
获取指定日期后一周的日期的函数 NEXT_DAY(date,char) char星期几,全称缩写都允许
获取指定日期特定部分的函数 EXTRACT(datetime)  
获取两个日期之间的月份数的函数 MONTHS_BETWEEN(date1,date2)  

5.4 转换函数

字符串转ASCII类型字符串函数 ASCIISTR(chr)  
二进制转十进制函数 BIN_TO_NUM()  
数据类型转换函数 CAST(expr AS type_name) 数字转换为字符或者字符转换为日期
数据转换字符串函数 TO_CHAR(n,[fmt[nlsparam]]) n数值型数据,fmt转换成字符的格式,nlsparam指定fmt的特征(小数点字符,组分隔符,本地钱币符号)
字符转日期函数 TO_DATE(char,[fmt[nlsparam]])  
字符转数字函数 TO_NUMBER(expr,[fmt[nlsparam]]) expr转换的字符串

 

5.5 系统信息函数

返回登陆名函数 USER  
返回会话 USERENV() parameter返回当前会话信息;‘Language’返回会话对应的语言、字符集等;SESSION返回ID;ISDBA返回当前用户是否为DBA

5.6 例子

--产生两个(1-10)随机数

[sql] view plain copy

  1. SELECT DBMS_RANDOM.VALUE(1,10),DBMS_RANDOM.VALUE(1,10) FROM dual;

 

--计算三角函数,并将结果转换成整数值

[sql] view plain copy

  1. SELECT CEIL(SIN(2)),COS(1),TAN(0.3) FROM dual;

 

--创建表,并使用字符串和日期函数,对字段进行操作

[sql] view plain copy

  1.  CREATE TABLE member(
  2.  m_id  NUMBER GENERATED BY DEFAULT AS IDENTITY,
  3.  m_FN  VARCHAR2(100),
  4.  m_LN  VARCHAR2(100),
  5.  m_birth DATE,
  6.  m_info VARCHAR2(255));
  7. INSERT INTO member VALUES(1011,'Halen ','Rark','29-6月-1970','GoodMan '); /*注意标准日期类型*/
  8. SELECT * FROM member;

--返回m_FN长度,返回一条记录中的人全名,将m_info转换成小写,将m_info转换成大写输出

[sql] view plain copy

  1. SELECT LENGTH(m_FN),CONCAT(m_FN,m_LN),LOWER(m_info),UPPER(m_info) FROM member;

 

--计算第一条记录人的年龄,提取m_birth中的年份,按照“YYYY-MM-DD”格式输出时间值

[sql] view plain copy

  1. SELECT EXTRACT(YEAR FROM SYSDATE),EXTRACT(YEAR FROM m_birth) AS age,EXTRACT(YEAR FROM m_birth) AS days,<span style="font-size:12px;">TO_CHAR(m_birth,'YYYY-MM-DD'AS birth FROM member;</span>

 

--插入新纪录m_FN为“Samuel”,m_LN“Green”,m_birth为当前系统时间,m_info“GoodWoman",计算插入的记录总数

[sql] view plain copy

  1. INSERT INTO member VALUES (1012,'Samuel','Green',SYSDATE,'GoodWoman');
  2. SELECT COUNT(*) FROM member;
相关文章
|
5月前
|
SQL Oracle 关系型数据库
Oracle之日期计算相关函数
Oracle之日期计算相关函数
46 0
|
5月前
|
SQL Oracle 关系型数据库
Oracle之regexp系列函数详解
Oracle之regexp系列函数详解
163 1
|
8月前
|
存储 SQL Oracle
Oracle数据库批量删除表、视图、序列、存储过程、函数脚本
Oracle数据库批量删除表、视图、序列、存储过程、函数脚本
72 0
|
4月前
|
存储 Java 数据库
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数(二)
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数
39 0
|
4月前
|
SQL Oracle 关系型数据库
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
69 0
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
|
24天前
|
Oracle 算法 关系型数据库
Oracle常用系统函数之数字类函数:数字的魔术师
【4月更文挑战第19天】Oracle数据库中的数字类函数是数字处理的魔术师,包括`ROUND`(四舍五入),`CEIL`和`FLOOR`(向上/下取整),以及`ABS`(计算绝对值)。还有`MOD`、`TRUNC`和`POWER`等函数,提供求余数、截断和计算幂的功能。熟练运用这些函数能提升数据管理效率,让处理数字变得更简单、有趣。
|
3月前
|
SQL Oracle 关系型数据库
Oracle查询优化-聚集函数
【2月更文挑战第5天】【2月更文挑战第13篇】聚集函数
20 4
|
4月前
|
存储 SQL Java
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数(一)
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数
36 0
|
4月前
|
SQL Oracle 算法
Oracle函数
Oracle函数
98 1
|
5月前
|
SQL Oracle 关系型数据库
Oracle之有哪些日期计算函数?
Oracle之有哪些日期计算函数?
117 0