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;
相关文章
|
22天前
|
SQL Oracle 关系型数据库
[Oracle]面试官:你举例几个内置函数,并且说说如何使用内置函数作正则匹配
本文介绍了多种SQL内置函数,包括单行函数、非空判断函数、日期函数和正则表达式相关函数。每种函数都有详细的参数说明和使用示例,帮助读者更好地理解和应用这些函数。文章强调了字符串操作、数值处理、日期计算和正则表达式的使用方法,并提供了丰富的示例代码。作者建议读者通过自测来巩固学习成果。
16 1
[Oracle]面试官:你举例几个内置函数,并且说说如何使用内置函数作正则匹配
|
4月前
|
SQL Oracle 算法
|
4月前
|
SQL Oracle 关系型数据库
|
4月前
|
SQL Oracle 关系型数据库
Oracle|内置函数之INSTR
【7月更文挑战第5天】
|
4月前
|
Oracle 关系型数据库 数据挖掘
|
6月前
|
SQL Oracle 关系型数据库
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
112 0
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
|
6月前
|
存储 Java 数据库
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数(二)
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数
76 0
|
4月前
|
Oracle 关系型数据库 数据挖掘
|
5月前
|
存储 Oracle NoSQL
Oracle中decode函数详解
Oracle中decode函数详解
|
5月前
|
Oracle 关系型数据库 大数据
oracle递归函数
oracle递归函数