精华内容
下载资源
问答
  • 1.UNIX时间与普通时间互相转换1.ORACLE先创建函数方法,再直接使用,MySQL直接使用方法UNIX_TIMESTAMP,FROM_UNIXTIMEoracle_to_unix(create_date)create or replace function oracle_to_unix(in_date in date) ...

    1.UNIX时间与普通时间互相转换

    1.ORACLE先创建函数方法,再直接使用,MySQL直接使用方法UNIX_TIMESTAMP,FROM_UNIXTIME

    oracle_to_unix(create_date)

    create or replace function oracle_to_unix(in_date in date) return number is

    begin

    return((in_date - to_date(‘19700101‘, ‘yyyymmdd‘)) * 86400 -to_number(substr(tz_offset(sessiontimezone),1, 3)) * 3600);end oracle_to_unix;

    unix_to_oracle(create_date)

    create or replace function unix_to_oracle(in_number number) return date is

    begin

    return (to_date(‘19700101‘,‘yyyymmdd‘) + in_number/86400

    + to_number(substr(tz_offset(sessiontimezone),1,3))/24);end unix_to_oracle;

    Exp:

    SELECT *

    FROM (SELECTmobile,/*UNIX_TIMESTAMP(create_date) as create_date,*/

    /*to_timestamp(create_date, ‘yyyy-mm-dd hh24:mi:ss‘) as create_date,*/

    /*to_timestamp(create_date) as create_date,*/oracle_to_unix(create_date)ascreate_date,

    code,

    code_status,

    uuid/*top (1)*/

    FROMR_CHECK_CODEWHERE code_status = ‘0‘

    and mobile = ‘138******‘

    /*and rownum<=1*/

    order by create_date desc) swhere rownum <= 1

    2.显示数据数量限制

    MYSQL:

    select * from tbl limit 100;

    ORACLE:

    select * from tbl where rownum<=100;

    SQL SERVER:

    select top 100 * from tbl

    3.小数取整

    ORACLE:取整函数trunc():

    trunc(12.354),返回值12

    trunc(12.354,1),返回值12.3

    trunc(12.354,-1),返回值10

    MYSQL:数值处理函数floor与round

    floor:函数只返回整数部分,小数部分舍弃。

    round:函数四舍五入,大于0.5的部分进位,不到则舍弃。与floor不同。

    4.获取当前时间

    ORACLE:sysdate  加括号容易出现错误:缺少逗号

    MySQL:sysdate()

    原文:https://www.cnblogs.com/xuhai/p/9180523.html

    展开全文
  • oracle单行函数

    2019-02-16 15:10:46
    本小白日常oracle学习总结,若有错误望海涵,并希望大神能指点迷津 单行函数:完成某一具体功能的操作函数 分为以下几种:字符串函数、数值函数、日期函数、转换函数、通用函数 字符串函数: 主要处理字符串数据...

    本小白日常oracle学习总结,若有错误望海涵,并希望大神能指点迷津

    单行函数:完成某一具体功能的操作函数

    分为以下几种:字符串函数、数值函数、日期函数、转换函数、通用函数

    1. 字符串函数:

    			主要处理字符串数据(数据可能从列上或者直接设置的常量)
    

    upper (列|字符串)-------将传入的字符串变为大写
    用法:
    select upper (pinym) from ryxx
    &表示输入执行后根据你输入的数值进行操作

    select* from ryxx where pinym = upper('&a')
    

    在这里插入图片描述

    lower (列|字符串)-------将传入的字符串变为小写(同upper)
    initcap (列|字符串)---------开头首字母大写,其余小写

    例:update ryxx set pinym = initcap(pinym)

    在这里插入图片描述
    length(列|字符串)----------返回字符串的长度
    substr(rukmxh,15,6) --截取rukmxh字段从第十五位之后的六个字符
    substr(rukmxh,length(rukmxh)-3)–可以嵌套使用
    replace(列|字符串,原字符,替换字符)------替换函数

    select replace(name,'张三','李四') from dual;
    \\把dual中name为张三的换成李四
    

    2. 数值函数

    **round(列|数字,数字)**四舍五入(如果设置为负数,则会进行整数位的四舍五入)
    例:

    select round(789.25685,2) from dual 
    

    在这里插入图片描述
    trunc(列|数字,数字) 数字截取,不进位
    使用方法与round函数相识,唯一的区别就是trunc函数直接把小数点扔掉,不进位
    mod(数字,数字) 求模(计算余数)
    例:

    select mod(3,2) from dual
    \\结果为1
    

    floor(列|数字)-------向下取整
    //5.6=5
    ceil(列|数字)--------向上取整
    //5.2=6
    **
    abs(列|数字)--------取绝对值
    //-9=9

    3. 日期函数

    **
    oracle为日期提供了一个伪列,sysdate ,systimestamp
    伪列:不是自己创建的列,但是存在在每一个表中
    sysdate伪列,提供当前日期 --本次sysdate日期:2019-02-16 17:30:01
    例:

    select sysdate,caozyxm from caozyxx 
    

    在这里插入图片描述

    日期操作公式:
    日期+数字=日期–表示若干天之后的日期
    日期-数字=日期–表示若干天之前的日期
    日期-日期=数字–表示间隔天数,可为负数
    注:由于每个月天数不同,使用加法计算日期不准确

    **add_months()**在指定日期上加上月数
    例:select add_months(sysdate,5) from dual
    在这里插入图片描述
    **months_between(列|日期,列|日期)**返回间隔的月数
    例:select trunc(months_between(sysdate,sysdate-300)) from dual
    在这里插入图片描述
    **last_day(列|日期)**返回当前日期所在月的最后一天
    例:select last_day(sysdate) from dual
    **next_day(列|日期,星期几)**返回当前日期后的下一个周几是几号
    例:select next_day(sysdate,'星期日') from dual
    在这里插入图片描述
    **

    4. 转换函数

    **
    to_char(列|日期|数字,转换格式) ---- 将日期或数字转化为指点日期的字符串

    转换格式:
    日期:yyyy-mm-dd
    时间:hh-mi-ss/hh24-mi-ss
    数字:任意数字(9) 本地货币符号(L)

    日期转换:select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
    使用to_char函数可以实现日期格式的拆分

    select to_char(sysdate,'yyyy'),to_char(sysdate,'mm') from dual;
    
    

    在这里插入图片描述
    数字转换:

    select to_char(56865566566,'L999,999,999,999,999,999,999') from dual;
    
    

    在这里插入图片描述
    to_date(列|字符串,转换格式)—按照指定格式将编写的字符串转换为日期函数
    例:

    select to_date('1998-02-01','yyyy-mm-dd') from dual; 
    
    

    在这里插入图片描述
    to_number(‘字符串’)—将一串字符串转换为数字(不常见,因为oracle中可以自动转换为数字)
    例:

    select to_number('1')+to_number('2') from dual;
    
    

    在这里插入图片描述

    **

    **

    5. 通用函数

    **

    **
    nvl(列|null,默认值)—如果传入的值为空,则使用默认值处理,如果不为空,则使用原始数值处理
    在这里插入图片描述
    根据以上表格:
    select yi,er,(yi+er) from 表名
    会得出:
    在这里插入图片描述
    注:这是因为第一行第二列中数据为空值,oracle不确定值为多少,返回空值,这种情况应该用nvl函数处理

    select yi,er,(yi+nvl(er,0)) from ceshi
    
    

    在这里插入图片描述
    decode(列|字符串|数值,比较内容1,显示内容1,比较内容2,显示内容2,…[默认显示内容])
    解释:设置的内容会与比较内容进行比较,如果内容相同,则会使用显示内容显示,如果都不相同,则使用最后的默认显示。默认为可选内容,如果没有设置默认值,则显示为空
    例:

    select yi,decode(er,null,'无',100,'中级','高级') er from ceshi
    

    原表:
    在这里插入图片描述
    执行语句之后:
    在这里插入图片描述
    instr(列|字符串, 值)函数
    描述:值在列|字符串中查找,返回从开始查第几个是
    举例:
    instr(hello,l)返回3,即第一次出现l的位置
    instr(caozyxm,‘admin’),即该值中有admin返回1,没有则返回0
    在这里插入图片描述
    **

    系统函数:

    **
    sys_context
    通过该函数可以查看出一些重要信息:
    terminal:当前会话客户单所对应的终端的标识符;
    language:语言,字符集
    db_name:当前数据库名称;
    nls_date_format:当前会话客户所对应的日期格式;
    session_user:当前会话客户所对应的数据库用户名;
    current_schema:当前会话客户所对应的默认方案名;
    通过select sys_context('userenv','language') from dual

    展开全文
  • Oracle单行函数

    2018-09-23 08:27:37
    单行函数 数据库的方便开发,往往会提供支持函数,利用这些函数针对数据进行特定的操作。 Oracle 之中对于函数基本的...字符串函数可以针对字符串函数进行处理,Oracle 之中对于此类函数定义有如下几点。UPPER()、...

    单行函数
    数据库的方便开发,往往会提供支持函数,利用这些函数针对数据进行特定的操作。

    Oracle 之中对于函数基本的使用结构如下
    返回值 函数名称(列 | 数据)
    根据单号函数的特点可以分为以下几种:
    1.。字符串函数,
    2.。数据函数
    3。日期函数,
    4。转换函数,
    5。通用函数。

    字符串函数

    字符串函数可以针对字符串函数进行处理,Oracle 之中对于此类函数定义有如下几点。UPPER()、LOWER()、
    INITCAP() 、REPLACE() LENGTH() SUBSTR

    1.大小写转换函数
    转大写函数:字符串UPPER(列 |字符串)
    转小写函数:字符串lower(列 |字符串)
    实例
    select lower (‘hello’),upper(‘hello’) from dual
    #dual 验证函数虚拟表
    实例2
    select *from 表 where 列 =upper(‘&inputname’)
    运行后用户输入字符串将会转换成大写返回 变量中

    2,首字符大写
    语法 :字符串 INITCAP (列 | 数据)
    select initcap (‘helloWord’) from dual
    除了首字母其他都变成小写

    3计算字符串的长度
    语法:数字 LENGTH(列 | 字符串数据 )
    例句:
    select * from 表 where length(列)=5

    4.字符串替换。
    可以使用指定的内容替换原始字符串的数据

    范例:将所有人的姓名中的A替换为 “
    select REPLACE(列,UPPER (‘a’),’
    ’) FROM 表
    范例:取消字符串所有的空格
    select replace('hello word ‘,’ ') from dual;

    5、字符串截取操作
    语法一 : 字符串 SUBSTR (列 | 数据,开始点),从指定的开始点一直截取到结尾;
    语法二:字符串 SUBSTR(列 | 数据,开始点,结束点);截取指定范围的字符串。

    范例一:截取word
    select substr(‘helloword’,6) from dual;
    范例二 截取后5个字符
    select substr(‘helloword’,-4) from dual; #只有oracle 支持负数函数
    注意:oracle中字符串索引都是从1开始,及时设置为0也自动变成1

    数值函数
    数值函数就是针对数字进行处理的。有3个主要函数:ROUND() TRUNC() MOD()
    1.四舍五入操作:
    语法:数字 ROUND(列 | 数字 【,保留小数位】)
    例句
    select
    round(178915.62342), #结果 178916
    round(178915.62342,-5), #结果200000
    round(-15.32342) from dual; #结果15
    2.截取小数,所有小数直接截取,不会进位

    3,求模 (求余数)
    语法:数字 MOD(列 1| 数字1,列2 |数字2)
    例句:
    select mod(10,3)from dual;

    日期函数 Oracle 自己的特色
    日期函数主要是进行日期处理的,比较关键的问题怎么获取当前时间,Oracle中专门提供一个数据伪列,它是一个列,但是这个列不存在与表中,可是像列一样却可以进行查询,这个伪列就是SYSDATE
    提取现在日期
    SELETC SYSDATE FROM DUAL
    SELETC SYSDATE ,SYSTIMESTAMP FROM DUAL
    实际上对于日期提供有一下三种计算方式;
    1.日期+数字=日期 若干天后的日期
    2.日期-数字=日期 若干天前的日期
    3.日期-日期=数字 这个两个日期相差多少天

    范例一
    select sysdate+10,sysdate+9999 from dual;#最大支持9999

    1.计算两个日期所经历的月数总和
    语法:数字 MONTHS_BETWEEN(日期1,日期2)
    范例二 日期减去日期
    SELECT 列 TRUNC(MONTHS_BETWEEN(SYSDATE,含有列时间)/12)years FROM 表
    #提取含有时间的列 现在时间减去列时间得到月除以12 得到年,得出年后用TRUNC函数取整数 再使用years别名 FROM 表

    2.增加若干月之后的日期
    语法:日期 ADD_MONTHS(日期,月数)
    范例
    select add_months(sysdate,4),add_months(sysdate,20), add_months(sysdate,9999)from dual;

    3.计算指定日期所在的月最后一天;
    语法:日期 LAST_DAY (日期)
    范f例 查找一个人所在入职的日期为当时月的第二天
    SELECT LAST_DAY(入职时间列),LAST_DAY(入职时间列)-2
    from 表
    where LAST_DAY(入职时间列)-2=入职时间列

    4.计算下一个指定的星期
    语法:日期 NEXT_DAY(日期,一周时间数)
    范例
    select next_day(sysdate,‘星期日’) from dual;

    转换函数

    就是将字符串和日期、数字的转换,转换函数移动分为三种
    TO_CHAR()、TO_DATE()、TO_NOMBER()

    1.转换字符串函数,数字或者是日期可以转换为字符串。
    语法格式:字符串_TO_CHAR(列 | 日期 |数字,转换格式)。
    对于转换格式有两种格式:
    日期转换为字符:年(yyyy),月(mm),日(dd)
    时(hh,hh24),分(mi), 秒(ss)

    1. 数字转换为字符串:任意的一位数字用(9),货币(L,本地货币)
      例句一:格式化日期
      select to_char(sysdate,'yyyy-mm-dd ') ,to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss’)from dual;

    范例二: 提取时间的某一个值转换成字符串
    select to_char(sysdate,'mm ') ,to_char(sysdate,‘yyyy hh24:mi:ss’)from dual;

    范例三:转换数字额格式,并加上本地货币,
    select to_char(56777654543454,‘L999,999,999,999,999,999’) from dual;

    2.字符串转日期函数:
    字符按照日月年的方式编写,可以自动转换日期类型,使用TO_DATE()函数
    语法:TO_DATE(字符串,转换格式);
    年(yyyy),月(mm),日(dd)时(hh,hh24),分(mi), 秒(ss)
    例句:
    select to_date(‘1987-07-21’,‘yyyy-mm-dd’) from dual;

    通用函数(Oracle自己的特色)
    在Oracle里面提供两个简单的数据处理函数:NVL() ,DECODE()
    1.NVL 处理null:
    语法:NVL(列 | 默认值)

    2,decode()多数值判断
    语法:decode (列,匹配内容1,显示内容1,匹配内容2,显示内容2。。。。。【默认值】) #没有匹配的内容显示匹配值

    展开全文
  • Oracle常用函数

    千次阅读 2014-01-09 17:59:34
    --字符函数 select upper('itmyhome') from dual; --将小写转换成大写 select lower('HELLO') from dual; --将大写转换成小写 select initcap('beijing') from dual; --首字母大写 select concat('Hello', ' world')...
    --字符函数
    select upper('itmyhome') from dual; --将小写转换成大写
    select lower('HELLO') from dual; --将大写转换成小写
    select initcap('beijing') from dual; --首字母大写
    select concat('Hello', ' world') from dual; --连接字符串  或者'Hello'||'world'
    select substr('iloveyou', 2, 4) from dual; --截取字符串
    select length('itmyhome') from dual; --字符串长度
    select replace('beijing', 'jing', 'piao') from dual; --替换字符串
    --数值函数
    select round(123.456) from dual; --四舍五入 舍去小数
    select round(345.678, 2) from dual; --保留两位小数
    select round(789.123, -1) from dual; --对整数进行四舍五入  
    select trunc(123.678) from dual; --舍去小数,但不进位 
    select trunc(123.678, 2) from dual; --保留两位小数  不进位
    select trunc(567.678, -2) from dual; --对整数进行四舍五入 
    select mod(8, 3) from dual; --返回8%3的结果
    
    --日期函数
    select sysdate from dual; --返回当前日期 
    select months_between(sysdate, '12-4月 -13') from dual; --返回之间的月数   
    select add_months(sysdate, 6) from dual; --在日期上加上月数 
    select next_day(sysdate, '星期一') from dual; --求下一个星期一
    select last_day(sysdate) from dual; --求本月的最后一天  
    
    --转换函数
    select to_char(sysdate, 'yyyy-mm-dd') from dual;
    select to_char(sysdate, 'fmyyyy-mm-dd') from dual; --去掉月 日 前面的0  
    select to_char('12345', '99,999') from dual; --分割钱 9表示格式   
    select to_char('12345', 'L99,999') from dual; --加上¥符号  
    select to_number('123') from dual;
    select to_date('1990-06-06', 'yyyy-mm-dd') from dual;
    
    --其他
    select nvl(null, 0) from dual; --如果为null,则用0代替 
    select decode(state, 1, '提交', 2, '通过', 3, '未通过') from test;
    --类似于如下 case when
    select case state
             when '1' then
              '提交'
             when '2' then
              '通过'
             when '3' then
              '不通过'
           end
      from test;




    展开全文
  • oracle日期函数汇总

    2019-07-06 13:47:38
    ORACLE 常用日期函数(摘抄自:https://www.cnblogs.com/champaign/p/5882033.html) 1 . add_months(arg1,num) 2. current_date 3.current_timestamp([precision]) 4.DBTIMEzone 5.extract(datepart from ...
  • oracle日期函数

    2018-11-06 15:34:35
    -- 2018-11-06 15:00:00, 过半进位 round ( sysdate , 'yy' ) -- 2019-01-01 00:00:00 trunc ( sysdate , 'hh' ) -- 2018-11-06 14:00:00 trunc ( sysdate , 'yy' ) -- 2018-01-01 00:00:00 ...
  • oracle函数

    2017-09-30 21:30:21
    数值函数 (1)四舍五入函数round (n,m) select round(23.4), round(23.45,1), round(23.45, -1) from dual; 输出:23 23.5 20 (2) 取整函数 ceil(n) :向上取整; floor(n) :向下取整 select ceil(23.45), ...
  • ORACLE自增函数,一般函数

    千次阅读 2018-06-13 22:22:00
    1.ORACLE先创建函数方法,再直接使用,MySQL直接使用方法UNIX_TIMESTAMP,FROM_UNIXTIME oracle_to_unix(create_date) create or replace function oracle_to_unix(in_date in date) return number is begin...
  • Oracle数值函数

    2018-12-17 22:19:25
    数值函数有三个主要的函数,ROUND( ) TRUNK( ) MOD( )  1、四舍五入操作 语法: ROUND(列 | 数字, |保留小数位|,若不设置保留小数位,则不保留。若保留小数位为负数,则从该负数的绝对值从个位开始自右向左...
  • 整理一下常用到的oracle 数值相关的函数:约数(四舍五入):round() 例如,保留小数点后两位小数:select round(3.2233,2) from dual 返回结果3.22。求平均值:avg()求最大值:max()求最小值:min()计数:count()求和...
  • Oracle函数

    2019-06-19 21:00:19
    函数 1. 单行函数 字符、数字、日期、转化 2. 多行函数 sum、count、avg、max、min 3. 字符串函数 LOWER 字母转小写 UPPER 字母转大写 INITCAP 单词首字母大写,其余小写 CONCAT 拼接字符串 SUBSTR 截取一个字符串的...
  • oracle内置函数详解

    2014-07-23 09:24:30
    难点:字符串日期转化为时间 ... 单行函数:数字符函数、数字函数、日期函数、转换函数  多行函数:avg、count、max、min、sum     字符函数:大小写转换函数LOWER UPPER INITCAP  字符处理函数CO
  • ROUND()函数SELECTROUND(789.567) 不保留小数,ROUND(789.567,2) 保留两位小数, ROUND(789.567,-2) 处理整数进位FROM dual;789 789.56 700TRUNC()函数SELECTTRUNC(789.567) 截取小数,TRUNC(789.567,2) 截取两位...
  • 复制这里的sql语句进oracle即可验证 字符函数 1、select upper('coolszy') from dual; 将小写字母转换成大写,dual 为一虚表 2、select lower('KUKA') from dual; 将大写字母转换成小写 3、select initcap('kuka'...
  • oracle系统函数

    2019-10-08 13:12:21
    ceil() --直接进位函数(数值) ------------------------------------------------------------------------------------------------------------------------------------------------- 4.Date functions ...
  • oracle 基本函数

    2012-04-28 15:28:19
    一, 基本函数  1. show user; 显示当前链接的用户  2. select * from tab 获取当前用户下得所有表  3. desc message 显示message表的结构  4. clear scr 清屏    二, 字符串函数  1. select upper('...
  • oracle 常见函数

    2017-04-11 10:53:59
    1.常见字符串操作函数 select upper('coolszy') from dual; --将小写字母转换成大写,dual 为一虚表 select lower('KUKA') from dual; --将大写字母转换成小写 select initcap('kuka') from dual; --将...
  • 关于对Oracle TRUNC函数的相关实知识,我现在总算有点体会了,如果某天你要想在实际操作中要用trunc(date,''dd'').时,你可以打开这篇文章对其进行一个更为全面的了解,以下就是文章的详细内容介绍,望大家借鉴。 ...
  • oracle 单行函数 指令

    2015-09-21 22:24:12
    单行函数的功能非常的简单就是完成某一个功能,例如:现在希望将字母变为大写,这样的功能就可以通过单行函数完成,在Oracle之中提供的单行函数非常的多,今天主要是看核心的几个。  单行函数分类为:字符串...
  • oracle 内置函数总结

    千次阅读 2012-02-20 17:58:04
    高频面试oracle函数 1.数值截取函数. 语法: TRUNC(x[,y]) 功能: 计算截尾到y位小数的x值. y缺省为0,结果变为一个整数值.如果y是一个负数,那么就截尾到小数点左边对应的位上. 只是该函数不对指定小数前或...
  • Oracle 单行函数

    2014-06-27 18:46:08
    --单行函数 --字符函数 select upper('ChenFeiPeng') from emp; select upper('ChenFeiPegn'),lower('chenfeipeng') from dual; select * from emp where ename=upper('smith'); select ename 原始...
  • Oracle 函数

    2019-07-31 21:32:31
    函数:是数据库产品中提供的能够处理查询结果的方法。 二.函数类型 单行函数:对单个行进行运算,并且每行返回一个结果。 多行函数:操纵成组的行,给每个行组返回一个结果。 三.函数语法 function_name(arg1,arg2,...
  • Oracle函数

    2019-07-18 08:16:56
    Oracle函数 1.字符函数 (1)CONCAT函数 这个函数的参数是两个字符串,计算的结果是将两个字符串连接在一起,生成一个新的字符串。例如,concat(‘Hello,’,‘World’)的结果为Hello, World。 (2)CHR与ASCII...
  • oracle常用函数

    2016-07-20 23:10:00
    Oracle中的函数和C中的函数差不多,也是有函数名,参数表,和返回值类型组成的,单行函数,是针对每条记录都有一个结果。单行函数可以出现在select 后面,也可以出现在where子句中。 需要处理现实的结果时,就把...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,561
精华内容 624
关键字:

oracle进位函数