-
oracle中to_char和to_date的用法
2010-11-03 09:22:29om dual; 24小时制需要用HH24: select to_char(sysdate,'yyyy-mm-dd HH24:mi:ss') today from dual; show:2010-11-03 09:29:...select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;to_char()把其他类型转化成字符类型,to_date()把字符串转化成日期类型。
to_char:
按'yyyy-mm-dd'格式显示当前系统时间:
select to_char(sysdate,'yyyy-mm-dd') today from dual;
24小时制需要用HH24:
select to_char(sysdate,'yyyy-mm-dd HH24:mi:ss') today from dual;
show:2010-11-03 09:29:19
可知,to_char()的结果,如果时间单位为单数,如3,会自动在前面加0补成2位成“03”.
to_date:
select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;
-
oracle “日期date”与“字符串”相互转换 TO_DATE ,TO_CHAR
2019-08-08 11:33:02select TO_DATE('2019-07-23 14:31:23', 'SYYYY-MM-DD HH24:MI:SS') from dual; select TO_CHAR(SYSDATE, 'SYYYY-MM-DD HH24:MI:SS') from dual; syyyy-mm-dd hh24:mi:ss.ff的syyyy是什么意思? s前缀指定如遇...select TO_DATE('2019-07-23 14:31:23', 'SYYYY-MM-DD HH24:MI:SS') from dual; select TO_CHAR(SYSDATE, 'SYYYY-MM-DD HH24:MI:SS') from dual;
syyyy-mm-dd hh24:mi:ss.ff的syyyy是什么意思?
s前缀指定如遇公元前的显示,会在显示前加(-)
年度值必须介于 -4713 和 +9999 之间,且不为 0 -
ORACLE使用to_char() 查询月份不带零
2020-12-09 11:54:00如果希望查询出来的日期,个位数月份不带零,则需要在月份格式化参数前加fm select to_char( ...select to_char( to_date('2020-5-6 1:2:4', 'yyyy-mm-dd hh:mi:ss'), 'yyyy-fmMM-dd HH24:mi:ss') from d...如果希望查询出来的日期,个位数月份不带零,则需要在月份格式化参数前加 fm
select to_char( sysdate, 'yyyy-fmMM-dd HH24:mi:ss') from dual
2020-12-9 11:49:45
** 注意 fm 只需要加一个即可
加一个fm
select to_char( to_date('2020-5-6 1:2:4', 'yyyy-mm-dd hh:mi:ss'), 'yyyy-fmMM-dd HH24:mi:ss') from dual2020-5-6 1:2:4
如果再加一个,后面的又开始 双位了,如图。
select to_char( to_date('2020-5-6 1:2:4', 'yyyy-mm-dd hh:mi:ss'), 'yyyy-fmMM-dd fmHH24:mi:ss') from dual
2020-5-6 01:02:04
-
Oracle时间运算 to_char() sysdate
2010-08-23 10:13:00在Oralce中,对日期进行加减操作的默认单位是天,也就是说如果我们向当前日期加1的话是加上一天,而不是一秒或一小时。... to_char(sysdate+(30/24/60),'yyyy-mm-dd hh24:mi:ss') new_date from dual1.在Oralce中,对日期进行加减操作的默认单位是天,也就是说如果我们向当前日期加1的话是加上一天,而不是一秒或一小时。那么对一天中的一段时间进行加减要怎么做呢?很简单!只需将它们转化为以天为单位即可。
2.月份的加减和日期加减相比要难了很多,因为每个月份的天数并不是固定的,可能是31,30,29,28。如果采用上面的方法将月份转换成实际天数将不可避免地出现多个判断,幸亏Oracle为我们提供了一个add_months函数,这个函数会自动判断月份的天数。看看下面的例子:
求两个日期相差的月数:
通常情况下两个时间相减将得到以天数为单位的结果,可是有时我们更希望得到以月为单位的结果,如果手动转换这太麻烦了,所以Oracle又提供了一个函数,这个函数就是months_between。months_between函数有2个参数,第一个参数是结束日期,第二个参数是开始日期,Oracle用第一个参数减去第二个参数得到月份数。所以结果有可能会是负数的。
3.年份加减:
Oracle并不直接提供对年份进行加减的函数,不过有了add_months和months_between函数,我们照样可以做到。为当前日期加上2年:
求两个日期相差几年:
直接将两个日期相减,然后除以365天并不准确,但是不管一年有多少天它总是只有12个月,所以利用这一点我们可以先求出两个日期相差的月数,再除以12就得出相差的年数了
求每月的最后一天:
求每月的第一天:
Oracle提供了last_day让我们能够求出所在月份的最后一天,但没有对应的first_day函数,如果有这方面的需求,只需要稍微动一下脑筋,利用last_day函数即可。例如下面的SQL语句就是求出下个月的第一天:在这里我们将“每月的第一天”转换成“上个月最后一天的下一天”,问题就解决了
4.求下一个星期几:
有时候我们会碰上“下个星期五是几号啊?”这样常见的问题。Oracle为此提供了一个函数:next_day,它的语法是这样的:next_day(date, string)。其中第一个参数date告诉Oracle从什么时候开始算起,第二个参数string则告诉Oracle要取的工作日。
下面我们看看如何得到下个星期五的日期:如果你不确定自己的时区或者你担心从一个时区移植到另一个时区时,SQL语句会出错,Oracle还允许你用数字的形式来表示工作日。但是要记得一点:1表示的是周日,2表示的是周一,3表示的是周二,依此类推。
例如我要查下个周三是什么时候,则函数是这样写的:next_day(sysdate, 4)。
-
Oracle数据库:to_char()函数--规格化小数,保存小数点后两位
2021-03-29 10:41:55这时候就需要用到to_char()函数。 to_char(expr,conversion)。 (1)expr是需要转换的值。常见的有日期(date),数字(number)。 (2)conversion是需要转换的格式。常见:日期(YYYY-MM-DD HH24:MI:SS)HH24则... -
oracle中那个日期怎么相减_oracle日期时间加减规则
2021-02-02 19:36:551、日期的加减都是以天为单位的SELECT to_date('2016-07-05 13:10:00','yyyy-mm-dd hh24:mi:ss') + 1 FROM dual;结果:2016-07-06 13:10:002、如果需要加减小时或者分钟,则除以24或者是60SELECT to_date('2016-07-... -
monthdiff oracle_Oracle常用函数:DateDiff() 返回两个日期之间的时间间隔自定义函数...
2020-12-19 02:40:56首先在oracle中没有datediff()...利用日期间的加减运算天:ROUND(TO_NUMBER(END_DATE - START_DATE))小时:ROUND(TO_NUMBER(END_DATE - START_DATE) * 24)分钟:ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60)... -
java yyyy/mm/dd hh24:mm:ss_Java保存yyyy-MM-dd HH:mm:ss日期字符串到 oracle date类型字段[原] | 学步园....
2021-03-08 08:27:20+ "','"+ mytechnical + "',TO_DATE('"+mybirthday+"','YYYY-MM-DD'),'"+ myemail + "','"+ mytelephoneTO_DATE('','')在SQL语句中不需要加‘’,但是为了获得变量必须用以上格式一、使用oracle函数:TO_TIMESTAMP_... -
mysql 日期取hh24_oracle与mysql针对时间获取的区别
2021-01-19 14:33:43原标题:oracle与mysql针对时间获取的区别 oracle体系光阴:sysdate针对体系光阴进行月份的加减:add_months(sysdate,-1)注:-1代表往前推一...将字符串转化为光阴范例:to_date('20190104100000','yyyy/mm/dd hh24... -
oracle date加减时间
2010-11-12 20:01:15SQL> alter session set nls_date_format='yyyymmdd hh24:mi:ss'; Session altered. SQL> select to_date('201010... -
mysql 日期加减法_mysql时间日期相加相减实现
2021-01-20 19:59:23select * from yq1012where core_lyq.endDate =date_add('2015-06-24', interval 1 month)mysql时间日期相加相减实现分享篇mysql中日期的一些操作,就是我们常常会用到的mysql时间日期的相加或者相减的了,这个mysql... -
as cast float server sql_sql常用函数小归纳
2020-12-30 13:09:40清空表内已有记录 truncate table tablename保留小数 :round(计算公式,n) 百分比 100*round(计算公式,n)||'%'日期时间:当前时间 sysdate 字符串转日期to_date(字段,'yyyy-mm-dd HH24:mi:ss')日期转字符串to_char... -
Oracle_Database_11g完全参考手册.part1/3
2012-08-18 17:29:1310.3 使用TO_DATE和TO_CHA设置日期格式 10.3.1 最常见的T0_CHAR错误 10.3.2 NEW_TIME:切换时区 10.3 3TO_DATE计算 10.4 wHere子句中的日期 10.5 处理多个世纪 10.6 使用ExTRACT函数 10.7 使用TIMESTAMP数据类型 第... -
Oracle加减日期
2012-07-27 17:24:59SELECT to_date(SYSDATE,'yyyy-mm-dd hh24:mi:ss') now, to_date(SYSDATE,'yyyy-mm-dd hh24:mi:ss') +1 next_day, to_date(SYSDATE,'yyyy-mm-dd hh24:mi:ss') +1/24 next_hour, to_date(SYSDATE,'yyyy-mm-d -
oracle日期加减和格式化
2019-02-18 16:26:23select to_date('10:23:22', 'hh24:mi:ss') from dual; 会显示 2019/02/18 10:23:22,也就是说,to_date如果不带日期,就会把当前日期填在日期部分上。但是如果: select to_date('10:23:22') from dual; 就提示... -
在oracle中实现DateDiff函数的功能
2017-08-09 13:54:43在orcale中是没有DateDiff函数的功能的,想要实现时间比对功能可以这么写: 1.利用日期间的加减运算 ...ROUND(TO_NUMBER(END_DATE - START_DATE) * 24) 分钟: ROUND(TO_NUMBER(END_DATE - START_DATE) * -
oracle时间字段加几小时
2013-10-25 14:13:561.当时间字段是字符类型时...select to_char(to_date(cssendtime + 167/24,'yyyy-mm-dd hh24:mi:ss') from cssf_flow_order order by time_stamp desc; 2当时间字段是Date类型时,如sysdate,做法:加1小时 select to -
Oracle常用函数:DateDiff() 返回两个日期之间的时间间隔自定义函数
2013-12-13 14:01:00首先在oracle中没有datediff()...利用日期间的加减运算天:ROUND(TO_NUMBER(END_DATE - START_DATE))小时:ROUND(TO_NUMBER(END_DATE - START_DATE) * 24)分钟:ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60)... -
oracle中没有datediff()函数
2017-01-18 09:08:58在oracle中没有datediff()函数 可以用以下方法在oracle中实现该函数的功能: 1.利用日期间的加减运算 ...ROUND(TO_NUMBER(END_DATE - START_DATE) * 24) 分钟: ROUND(TO_NUMBER(END_DATE - START_DA -
请写出sfr和sbit的语句格式_最新最全 Oracle ORA-01861: 文字与格式字符串不匹配
2021-01-03 09:10:37当时测试可行但是第二天打开数据库再一执行,就会发现数据库报错,昨天可以完美执行的语句,今天就是一条报错的语句了.TO_date(P.createdate,‘YYYY-MM-DD hh24:mi:ss’)+numtodsinterval(8,‘hour’)What happened?... -
datagridview输入字符串的格式不正确_最新最全 Oracle ORA-01861: 文字与格式字符串不匹配...
2020-11-27 19:21:28当时测试可行但是第二天打开数据库再一执行,就会发现数据库报错,昨天可以完美执行的语句,今天就是一条报错的语句了.TO_date(P.createdate,‘YYYY-MM-DD hh24:mi:ss’)+numtodsinterval(8,‘hour’)What happened?... -
Oracle日期时间加减法
2020-01-06 17:39:05今天我们来说说Oracle日期...select TO_NUMBER(TO_DATE('2018-6-5','yyyy-mm-dd hh24:mi:ss') - TO_DATE('2018-5-31','yyyy-mm-dd hh24:mi:ss')) AS 相差天数 from dual; Oracle中两个日期计算相差的小时数 select ... -
oracle将时间加一天,加小时,加分,加秒
2019-09-28 06:26:03前言 oracle 时间类型可以直接相加,但加的是天,以天为单位,我们...select to_date('2019-08-15 22:03:10','yyyy-mm-dd hh24:mi:ss')+1 next_day from dual; 加一小时 select to_date('2019-08-15 22:03:10','yyy... -
AppFramework数据库访问组件_代码生成插件_V1.1.rar
2008-01-06 01:24:35IBatisNet获得高性能与灵活性也是付出代价的,它牺牲了数据库可移植性:由于编写SQL模板不得不用到数据库产品的一些语法差异,例如ORACLE的TO_DATE、Length()、SYSDATE等,为了把产品移植到其它数据库,开发人员不得... -
阳历转阴历_java
2015-06-26 16:47:47import java.util.Date; import java.util.GregorianCalendar; public class Lunar { private int year; private int month; private int day; private boolean leap; private Calendar clendar; final ... -
如何在当前时期上加几年几个月几天几小时几分几秒
2008-05-13 12:39:00在日期时间上加1秒select to_date(2008-05-16 18:05:55,yyyy-MM-dd HH24:mi:ss)+1/24/60/60 from dual结果:2008-5-16 18:05:56在日期时间上加1分select to_date(2008-05-16 18:05:55,yyyy-MM-dd HH24:mi:ss)+1/24/... -
oracle 查询时间加减
2018-07-19 11:01:31select 时间, TO_DATE(时间,'YYYY-MM-DD hh24:mi:ss')+numtodsinterval(时间戳,'hour') from TableTime T ; 如: select T.DATE , TO_DATE(T.DATE,'YYYY-MM-DD hh24:mi:ss')+numtodsinterval(T.WARNING_TIME,'hour')... -
db2 存储过程加了atomic不回滚是什么原因
2014-04-24 15:12:35set V_INVALID_DATE = to_char(to_date(V_DATE,'yyyy-MM-dd') -1 years,'yyyy') || substr(V_DATE,5); set V_INVALID_DATE_RN = to_char(to_date(V_INVALID_DATE,'yyyy-MM-dd') -1 days,'yyyy-MM-dd'); ...