oracle常用函数总结(一)
最近在读数据库存储过程,或者在xml里写sql时用到数据库函数,笔者觉得有必要总结一下,当然有的函数笔者也很懵逼,不过可以问度娘啊!好了!开始正题。
select nvl(null,1)s from dual;--1 若nvl第一个参数为空或'',则返回第二个元素
select nvl2(null,2,1)s from dual;--1 若nvl2 第一个元素为空或'',则返回第二个元素 select decode('',111,1000,200,2000,0)s from dual;--如果seed为111,则取1000;为200,取2000;其它取0 select instr('lidelinlidelin','i',3,3)s from dual;--13 查找i在字符串从第三个位置起第三次出现的下标
select instr('lidelinlidelin','w',3)s from dual;--0 查找w在字符串从第三个位置起第一次出现的下标 select substr('lidelinlidelin',2,3)s from dual;--ide 截取字符串,从第二个开始,取三个 select length('delin Li') s from dual;--8 查看字符串长度
select lengthb('delin Li') s from dual;--8 查看字符串长度 select ascii('as')s from dual;--97 返回第一个字母的ASCII码
select chr(97)s from dual;--a 函数返回十进制表示的字符 select concat('delin',' Li')s from dual;--delin Li 将字符串拼接
select 'Hello! '||'hello world!' from dual;-- Hello! hello world!字符串连接
select initcap('delin li')s from dual;--Delin Li 将每个单词的第一个字母大写其它字母小写返回。单词由空格,控制字符,标点符号分隔 select lower('LIDELIN')s from dual;-- lidelin 将字母变为小写
select upper('lidelin')s from dual;--LIDELIN 将字母变为大写
select initcap('efg')s from dual; --Efg 将首字母大写 select lpad('lidelin',9,'A')s from dual;--AAlidelin 小于9个字符时左边补A
select rpad('lidelin',9,'A')s from dual;--lidelinAA 小于9个字符时右边补A select ltrim('000lidelin','')s from dual;--lidelin 将左边0取消
select rtrim('lidelin000','')s from dual;--lidelin 将右边0取消
select trim(' delin Li ')s from dual; --delin Li 将字符串两边空格去掉
select trim(leading 9 from 9998767999) s1,trim(trailing 9 from 9998767999) s2,trim(9 from 9998767999) s3 from dual; -- 8767999 9998767 8767 select replace('lidelin','l','L')s from dual;--LideLin 将字符串中l替换为L select soundex('lidelin')s from dual;--L345 返回字符串参数的语音表示形式 select translate('lidelin','dn','s')s from dual;--liseli 字符串中字符存在于为'dn'中时,替换为对应值,d变为s,n变为空 select round(123.456,1)s from dual;--123.5 小数位保留一位四舍五入
select trunc(123.456,1)s from dual;--123.4 小数保留一位不不进行四舍五入
select mod(9,5)s from dual; --求余
select trunc(65/33)s from dual;-- 1 取整
select ceil(65/60)s from dual;-- 2 取整 select sign(-2.1)s from dual;-- -1 判断数字是否为正数 -1否
select sign(2.1)s from dual;-- 1 判断数字是否为正数 1是 select user from dual;--MTRSCDE 查询当前数据库登陆账户名
select vsize('lidelin')s from dual;--7 返回表达式所需的字节数
select nullif('lidelin','lidelin')s from dual;-- 空 值相等返空,否则返回第一个值
select coalesce('','','e','lidelin')s from dual;-- 111 返回列表中第一个非空表达式 --日期和字符转换函数用法(to_date,to_char)
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; -- 2017-12-04 15:02:25 日期转化为字符串
select to_char(sysdate,'yyyy') as nowYear from dual; -- 2017 获取时间的年
select to_char(sysdate,'mm') as nowMonth from dual; -- 12 获取时间的月
select to_char(sysdate,'dd') as nowDay from dual; -- 04 获取时间的日
select to_char(sysdate,'hh24') as nowHour from dual; -- 15 获取时间的时
select to_char(sysdate,'mi') as nowMinute from dual; -- 02获取时间的分
select to_char(sysdate,'ss') as nowSecond from dual; -- 25获取时间的秒 select to_date('2017-12-04 15:02:25','yyyy-mm-dd hh24:mi:ss') as nowTime from dual; -- 2017/12/4 15:02:25 字符串转化为日期
select to_char(sysdate,'yyyy-mm-dd q ww w hh24:mi:ss') as nowTime from dual; -- 2017-12-04 4 49 1 15:07:33 2017年 第四季度,当年第49个周,当月第1个周 15点07分33秒 select to_char(to_date('2017-12-04','yyyy-mm-dd'),'day')s from dual; --星期一
select to_char(to_date('2017-12-04','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American')s from dual; --monday select floor(sysdate - to_date('2017-12-01','yyyy-mm-dd')) days from dual;-- 3 两个日期间的天数
select months_between(to_date('2017-10-01','yyyy-mm-dd'),to_date('2017-12-01','yyyy-mm-dd')) months FROM DUAL; -- -2 两个日期间的月数
由于时间紧促,在这里就总结一下部分常用oracle函数,当然大家觉得那些有必要添加进去的函数,希望朋友们能提出来!如有错误,还望斧正!
oracle常用函数总结(一)的更多相关文章
- Oracle常用函数
前一段时间学习Oracle 时做的学习笔记,整理了一下,下面是分享的Oracle常用函数的部分笔记,以后还会分享其他部分的笔记,请大家批评指正. 1.Oracle 数据库中的to_date()函数的使 ...
- Oracle常用函数:DateDiff() 返回两个日期之间的时间间隔自定义函数
首先在oracle中没有datediff()函数可以用以下方法在oracle中实现该函数的功能:1.利用日期间的加减运算天:ROUND(TO_NUMBER(END_DATE - START_DATE) ...
- oracle常用函数总结(二)
之前也有写过“oracle常用函数总结(一)”,为了尽量找全常见oracle函数,笔者特意查找了相关资料来作为参考,下边给大家罗列出来,部分和之前有重复的,希望能帮到大家! 列举了31个函数和1个分组 ...
- oracle常用函数总结
Oracle常用函数总结 ---oracle常用函数-----一.数值型常用函数----取整数--select floor(10.1) from dual;--将n四舍五入,保留小数点后m位(默认情况 ...
- oracle常用函数整理
oracle常用函数整理 1.绝对值.取余.判断数值正负函数 绝对值:ABS(n) 示例: SELECT ABS(100),ABS(-100),ABS('100') FROM ...
- oracle常用函数积累
--oracle常用函数积累-- --1.字符串长度:LENGTH ,语法: CONCAT(string) --示例 select LENGTH('AA_BB') from dual;--结果:5 - ...
- ORACLE常用函数的使用方法
ORACLE常用函数的使用方法 1. 字符串函数 (1) length(); 获取字符长度SELECT LENGTH('中国') FROM PLATFORM_METAINFO_TABLES WHERE ...
- SQL操作数据——SQL组成,查询基础语法,where,Oracle常用函数等
SQL组成 DML数据操作语言 DCL数据控制语言 DQL数据查询语言 DDL数据定义语言 查询基础语法 记录筛选 where 子句 记录筛选 where 子句 实例练习 实例练习 Select语句中 ...
- oracle常用函数及示例
学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函 ...
- 十、oracle 常用函数
一.字符函数字符函数是oracle中最常用的函数,我们来看看有哪些字符函数:lower(char):将字符串转化为小写的格式.upper(char):将字符串转化为大写的格式.length(char) ...
随机推荐
- 快速的熟悉一个angular的项目从run看起
config之类的都会注入到controller或者run里边
- 程序员怎样迈出从5K到1W的重要一步
为什么一个相似的功能,大牛一会儿就搞定,然后悠闲地品着下午茶逛淘宝:而自己加班加点搞到天亮还做不完. 为什么用户提出需求变更后,大牛只需潇洒地敲敲键盘,改改配置:而自己将代码改了又改,删了又建,几乎晕 ...
- 冒泡排序的PHP实现 Bubble Sort
冒泡排序Bubble Sort的PHP实现.代码中函数说明: out_arr,用于将数组输出成一个字符串,以便查看 bubblesort,第一种实现方案,从后往前依次选出需要的值,这里是较大的 bub ...
- 解决:Eclipse安装Pydev插件报错: An error occurred while collecting items to be installed session context was:(profile=...
今天在Elipse上安装Pydev插件时报错: An error occurred while collecting items to be installed session context was ...
- 用系统工具sxstrace检查缺少的VC运行时组件
在管理员运行的命令提示符中输入sxstrace获得如下帮助: C:\>sxstrace WinSxs Tracing Utility. Usage: SxsTrace [Options] Opt ...
- 去除编译警告@SuppressWarnings注解用法详解(转)
使用:@SuppressWarnings(“”)@SuppressWarnings({})@SuppressWarnings(value={}) 编码时我们总会发现如下变量未被使用的警告提示: 上述代 ...
- Spring_总结_03_装配Bean(四)_导入与混合配置
一.前言 本文承接上一节:Spring_总结_03_装配Bean(三)之XML配置 在典型的Spring应用中,我们可能会同时使用自动化和显示配置.同时,可能在某些场景下我们需要混合使用JavaCon ...
- MySQL for Mac在Mac终端导入导出.sql文件
https://www.cnblogs.com/code4app/p/6222310.html 1.导入 打开终端输入:(前提是已经配置过MySQL环境变量) mysql -u root -p cre ...
- Android源代码因删除所有git仓库导致的编译错误
/******************************************************************************** * Android源代码因删除所有g ...
- CANopenNode drvTemplate/CO_driver.h hacking
/************************************************************************ * CANopenNode drvTemplate/ ...