oracle数据库内置函数之数值函数、字符函数、日期函数、转换函数及其在查询语句中的运用

数值函数:
	1、四舍五入函数round() from dual:一行一列组成
	select round(23.4) from dual;--默认不写m表示m为0
	select round(23.45,1) from dual;--1表示保留小数点后一位,那么是小数点的第二位四舍五入
	select round(23.45,-1) from dual;---1表示小数点前一位四舍五入取整,前一位是3四舍五入为20

	2、取整函数:
	select ceil(23.45),floor(23.45) from dual;

	3、常用计算:
	abs(n)绝对值函数:
		select abs(23.45),abs(-23),abs(0) from dual;
	mod(m,n):取余函数,如果m和n中有一个值为null值,则结果返回null值
		select mod(5,2) from dual;
		select mod(5,null) from dual;
	power(m,n):表示返回m的n次幂
		select power(2,3),power(null,2) from dual;
	sqrt(n):求平方根的函数
		select sqrt(16) from dual;
	4、三角函数:
	sin(n),asin(n):n代表弧度
	select sin(3.14) from dual;
	cos(n),acos(n);

字符函数:
	1、大小写转换函数:upper(char),lower(char),initcap(char),把首字母转为大写
		select upper('abcde'),lower('ADe'),initcap('asd') from dual;
	2、获取子字符串函数:substr(char,[m[n]]),n如果省略代表从m截取到字符串的末尾
			m为0表示从字符串的首字母开始截取
			m为负数表示从字符串的尾部开始截取
		select substr('abcde',2,3);substr('abcde',2),substr('abcde',-2,1) from dual;
	3、获取字符串长度的函数:length(char)
		select length('abc ') from dual;
	4、字符串连接函数:concat(char1,char2);与||操作符的作用一样
		select concat('ab','cd') from dual;
		select 'ab' ||'cd' from dual;
	5、去除子串函数:trim(c2 from c1),c2是一个字符,c1是字符串
		select trim('c' from 'cdccec') from dual;--dcce,去除左右2边是c开始的字符
		select trim('c' from 'ccdd') from dual;--dd
		ltrim(c1[,c2]);c1是字符串,c2是字符,从头部去除一个字符
		rtrim(c1[,c2]):
		trim(c1):代表去除左右2边的空格
		ltrim(c1):只有一个参数的话代表去除左边的空格
		rtrim(c1):只有一个参数的话代表去除右边的空格

	7、替换函数replace()
		select replace('abcde','a','A')from dual

		select replace('abcde','a')from dual;--替换为空格
		select replace('abcde','ab',A) from dual;
日期函数:
	系统时间函数:SYSDATE  默认格式DD-MM-YY(日月年)
		ADD_MONTHS(date,i):select add_months(sysdate,3),add_months(sysdate,-3) from dual;
		NEXT_DAY(date,char):select next_day(sysdate,'星期一') from dual;
		LAST_DAY(char):select last_day(sysdate) from dual;
		MONTHS_BETWEEN(char1,char2):计算2个日期之间间隔的月份
		select months_between('20-5月-15','10-1月-15') from dual;

	日期操作函数:
		获取年份、月份、日期、小时
		提取指定日期部分的函数
		select extract(year from sysdate) from dual;
		select extract(month from sysdate) from dual;
		select extract(day from sysdate) from dual;
		select extract(hour from timestamp '2015-10-1 17:22:22') from dual;
转换函数:
	日期转换为字符的函数
		TO_CHAR(date[,fmt[,params]]):date:将要转换的日期、fmt:转换的格式、params:日期的语言
		默认是DD-MM-YY
		select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') FROM DUAL;//默认最后一个参数不写

	字符转换为日期的函数
		TO_DATE(char[,fmt[,params]]):
		select to_date('2015-05-22','YYYY-MM-DD') FROM DUAL;
		//注意:to_date()按照系统默认的格式显示日期
	数字转换为字符的函数
		select to_char(12345.678,'$99,999.999') from dual;

	字符转换为数字的函数
		TO_NUMBER(char[parms]);
		select to_number('$1,000','$9999') from dual;
在查询语句中使用函数时输出结果的特殊改变不会影响到数据库中的值

在员工信息表中查询出员工的生日
	select substr(cardid,7,8) from users;
将部门号01全部替换成信息技术
	select replace(deptno,'01','信息技术') from users;
将员工信息表中的年龄字段与10取余
	select mod(age,10) from users;
取得员工入职的年份
	select extract(year from regdate) from users;
查询出5月份入职的员工信息
	select * from users where extract(month from regdate)=5;

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-28 06:41:46

oracle数据库内置函数之数值函数、字符函数、日期函数、转换函数及其在查询语句中的运用的相关文章

Oracle数据库内置函数

--ORACLE内置函数:单行函数,集合函数--1.绝对值,取余,判断数据正负函数,SELECT ABS(100),ABS(-100),ABS('100') FROM DUAL;SELECT MOD(5,2) MOD(8/3,5),MOD('10',5),MOD(-10,6),MOD(1,0) FROM DUAL;SELECT SIGN('9'),SIGN(-9),SIGN(0.00),SIGN(-2*'9') FROM DUAL; --三角函数SELECT COS(3.1415926),COS

数据库内置表常见SQL记录

学习数据库内置的一些视图或者表来查询数据库的具体信息. 比如 用户,表空间,表,字段,主外键,索引,数据文件,日志文件,控制文件 耗时SQL 客户端连接 死锁的SQL等 通过这些内置数据了解oracle,进而对其优化. ========================================================== SELECT * FROM user_tables --查询表 --all_tables dba_tables SELECT * FROM user_tab_co

SQL server数据库内置账户SA登录设置

SQL server数据库内置账户SA登录不了 设置SQL Server数据库给sa设置密码的时候  提示18456 解决步骤: 第二步:右击sa,选择属性: 第三步:点击状态选项卡:勾选授予和启用.然后确定. 第四步:右击实例名称(就是下图画红线的部分),选择属性 第五步:点安全性,确认选择了SQL SERVER 和Windows身份验证模式. 最后验证sa用户登录  成功~

ORACLE函数之日期时间转换函数

 1.          TO_CHAR 语法:TO_CHAR(X [,format]) 说明:将X按format格式转换成字符串.X是一个日期或者数字,format是一个规定了X采用何种格式转换的格式字符串 举例: SQL>SELECT TO_CHAR(sysdate,'YYYY-MM-DD hh24:mi:ss') A FROM DUAL; A ------------------- 2014-06-1815:58:43 2.            TO_DATE 语法:TO_DATE(

mysql常用内置函数-查询语句中不能使用strtotime()函数!

来自:http://yushine.iteye.com/blog/775407 FROM_UNIXTIME把 unix时间戳转换为标准时间 unix_timestamp把标准时间转换为 unix时间戳//查询语句中不能使用strtotime()函数!但是可以使用unix_timestamp DATE_FORMAT('1997-10-04 22:23:00','%Y-%m-%d') 格式化时间 如:select FROM_UNIXTIME(pubdate) from article where p

oracle常用数据库内置函数

函数 返回值 样例 显示 CEIL(n) 大于或等于数值n的最小整数 SELECT CEIL(10.6) FROM TABLE_NAME; 11 FLOOR(n) 小于等于数值n的最大整数 SELECT FLOOR (10.6) FROM TABLE_NAME; 10 MOD(m,n) m除以n的余数,若n=0,则返回m SELECT MOD (7,5) FROM TABLE_NAME l; 2 POWER(m,n) m的n次方 SELECT POWER (3,2) FROM TABLE_NAM

Mysql 数据查询语句中between and 是包含边界值的

MySQL的sql语句中可以使用between来限定一个数据的范围,例如: select * from user where userId between 5 and 7; 查询userId为5.6,7的user,userId范围是包含边界值的,也等同如下查询: select * from user where userId >= 5 and userId <= 7; 很多地方都提到between是给定的范围是大于等第一值,小于第二个值,其实这是不对的.此前我一直也是这么认为,通过实验,结论是

数据库内置审计功能

作为一名dba,有时候,总会遇到数据库某个库,某个表,某个字段异常,或者数据被莫名的删除了,这个时候大家各种推断是不是bug了啊,是不是被黑了啊...这个时候一个审计功能就凸显出来了. mariadb数据库对审计插件(server_audit.so)支持比较良好,今天我们进行一个简单安装和测试 安装方法也很简单:INSTALL SONAME "server_audit.so" 这样就安装完成了,我们可以看看对应的参数变量 这些参数和变量都是可以动态设置的,具体参数说明,见官网:http

数据库内置视图或者表结构在开发中的使用场景

1.查询用户的所有表 2.查询表关系,外键,主键,约束条件 ========================================================= oracle数据库: String reSql = "SELECT A.TABLE_NAME AS P_TABLE_NAME,B.COLUMN_NAME AS P_COLUMN_NAME,C.TABLE_NAME AS F_TABLE_NAME,"+   "D.COLUMN_NAME AS F_COLU