首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Oracle TO_DATE错误地转换了2020/01/07之后的日期

Oracle TO_DATE函数是用于将字符串转换为日期类型的函数。在使用TO_DATE函数时,需要指定日期字符串和日期格式模板。

对于给定的问题,如果Oracle TO_DATE函数错误地转换了2020/01/07之后的日期,可能是由于以下原因之一:

  1. 日期格式不正确:TO_DATE函数需要根据日期字符串的格式来解析日期。如果日期字符串的格式与指定的日期格式模板不匹配,就会出现转换错误。在这种情况下,需要确保日期字符串的格式与指定的日期格式模板一致。
  2. 日期格式模板错误:TO_DATE函数的第二个参数是日期格式模板,用于指定日期字符串的格式。如果指定的日期格式模板不正确,就会导致转换错误。在这种情况下,需要检查日期格式模板是否正确,并根据实际情况进行调整。
  3. 数据库会话的日期格式设置错误:Oracle数据库会话的日期格式设置可能会影响TO_DATE函数的行为。如果数据库会话的日期格式设置不正确,就可能导致TO_DATE函数错误地转换日期。在这种情况下,可以通过修改数据库会话的日期格式设置来解决问题。

为了更好地理解和解决这个问题,可以提供更多关于具体错误信息、使用的日期字符串、日期格式模板以及数据库会话的日期格式设置等详细信息。

此外,腾讯云提供了一系列云计算相关的产品和服务,包括云服务器、云数据库、云存储等。您可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多关于腾讯云的产品和服务信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

数据库时间出现'00000000',难道我穿越了?

ID=95&lang=CN) 在10204,11204,12201三个版本上分别做了如下测试: 1、当日期类型做减法,刚好减完为0 时候: select to_date('0001-01-01',...from dual; TO_DATE('0001-01-01' -------------------- -0001-01-07 00:00:00 我们发现,结果为负数,也就是说,计算结果为公元前。...之前我们对于闰年,闰月,闰秒有过很多探讨,如果说Oracle不能识别那也不科学,但此时为什么没有显示。 首先在杨老师建议下,我换了一组数据做了测试,将非闰年选择时间改为1900年。...那说明,的确是有一个时间点划分,在此之前和之后Oracle处理方式是不一样。...1600之后,才开始识别到底有没有2月29这个日期,之前年份不做校验。 为什么会这样? 这里跟大家科普一下: 公历是根据罗马人"儒略历"改编而得。

1.2K60

SQL函数 TO_DATE(二)

儒略日计数1721424返回公元1年1月1日(1–0101)。儒略日计数,如1709980(亚克兴战役标志着罗马帝国在奥古斯都·凯撒统治下开始)返回公元前(BC)日期,显示年份前面有一个负号。...允许最小儒略日是0000001,它返回01/01/-4712(即BCE日期01/01/-4713)。任何超出此范围值都会生成SQLCODE -400错误,其%msg值为“无效儒略日值”。...1721424 (1/1/1) 之前儒略日计数与其他软件实现兼容,例如 Oracle。它们与通常使用 BCE 日期不同。正常使用中,没有Year 0;日期从 12/31/-1 到 1/1/1。...在 Oracle 使用中,儒略日期 1721058 到 1721423 完全无效,并返回错误。这些儒略日期返回不存在第 0 年作为占位符。因此,涉及 BCE 日期计算必须调整一年以对应于常见用法。...TO_CHAR 允许返回对应于日期表达式儒略日计数,如以下示例所示:SELECT TO_CHAR('1776-07-04','J') AS JulianCount, TO_DATE(2369916

1.4K20
  • 为什么日期不建议使用VARCHAR2或者NUMBER?

    可参考《Oracle数据顺序问题》、《Oracle读取数据顺序问题》。...如果我需要按照日期递增顺序返回,仅仅通过order by,得到结果如下,明显是错误,因为字段c1是字符串类型,order by排序时候是按照字母顺序, SQL> select * from test... order by c1; C1 ------------------------- 01APR21 01JAN21 01MAR21 如果按照实际日期顺序,则可以在order by中进行显式地转换,他是按照日期类型排序..., SQL> select * from test order by to_date(c1, 'DDMONYY'); C1 ------------------------- 01JAN21 01MAR21...01APR21 因此我们说对日期类型,如果按照字符串类型存储,像排序这种操作,需要进行转换,才可以得到正确结果,在程序中需要注意

    54820

    Hive 时间转换函数使用心得

    【客户案例背景】 腾讯云大数据一个客户,将oracle数据迁移到 hdfs ,做离线大数据处理。 数据处理过程中,会采用 hive sql 去实现 oracle sql 一些相同功能。...如果用oracle去做,就很简单,直接调用三个函数: SQL> select to_char(add_months(to_date('2016-09','yyyy-mm'),-1),'yyyy-mm')...(1) 首先,hive里面的to_date函数:日期时间转日期函数: to_date语法:   to_date(string timestamp) 返回值:   string 说明: 返回日期时间字段中日期部分...-12-07');  注:这个时候,只能识别 2011-12-07 13:01:03 这种完全格式时间 NULL 指定格式日期转UNIX时间戳函数: unix_timestamp语法:   unix_timestamp...4、to_date 日期时间转日期函数: to_date语法:   to_date(string timestamp) 返回值:   string 说明: 返回日期时间字段中日期部分。

    36.1K186

    SQL函数 TO_CHAR(一)

    因此 2010-03-23 12-15:23(注意时间值中错误连字符)被解释为 $HOROLOG 日期 2010(1846-07-03 12:00:00 AM)。...如果错误地为 TO_CHAR 提供了格式化日期或时间字符串,它会返回错误数据。TO_DATE 将格式化日期字符串转换为相应日期整数。...如果错误地为 TO_DATE 提供了日期整数,它会返回未修改整数。以下示例显示了 TO_DATE 和 TO_CHAR 这些正确和错误用法。...正常使用中,没有Year 0;日期从 12/31/-1 到 1/1/1。在 Oracle 使用中,儒略日期 1721058 到 1721423 完全无效,并返回错误。...TO_DATE 允许返回对应于儒略日计数日期表达式,如以下示例所示:SELECT TO_CHAR('1776-07-04','J') AS JulianCount, TO_DATE(2369916

    3.8K20

    oracle number转为timestamp timestamp转number

    /5306622 ORACLE 毫秒转换为日期 日期转换毫秒 日期转换毫秒 SELECT TO_NUMBER(sysdate – TO_DATE(‘1970-01-01 8:0:0’, ‘YYYY-MM-DD...; 毫秒转换日期 SELECT TO_CHAR(1112070645000 / (1000 * 60 * 60 * 24) + TO_DATE(‘1970-01-01 08:00:00’, ‘YYYY-MM-DD...’)+1261674301000/86400000 from dual; select to_date(‘1970-01-01′,’yyyy-MM-dd’)+当前日期毫秒数/86400000 from...dual; http://space.itpub.net/8554499/viewspace-659931 ORACLE中用SQL实现时间日期由毫秒数到字符串转换 在开发过程中,为了方便,经常将时间日期毫秒数以整形格式存到数据库中...而储存过程里面取出来sysdate前几位只却变成17-11月-07格式了,不是自己想要,2007-11-17格式,又得单独取年月日再组合起来,这样一来返回值就不能是日期类型而要字符类型了.

    2K40

    matinal:ORACLE日期时间格式化参数详解

    ORACLE日期时间格式化参数详解 格式化日期指的是将日期转为字符串,或将字符串转为日期,下面几个函数可以用来格式化日期 TO_CHAR(datetime, 'format') TO_DATE(character...from dual;   //获取时间秒 select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss')    from dual//...') and to_date('20011231','yyyymmdd')         那么12月31号中午12点之后和12月1号12点之前是不包含在这个范围之内。         ...日期格式冲突问题          输入格式要看你安装ORACLE字符集类型, 比如: US7ASCII, date格式类型就是: '01-Jan-01'          alter system...26,返回日期列表中最晚日期    select greatest('01-1月-04','04-1月-04','10-2月-04') from dual 27.计算时间差      注:oracle

    39320

    DATE类型“小陷阱”

    朋友提了个问题,虽然不是难题,但确实很细微,很可能就掉进了陷阱中,假设执行日期2020-08-26,创建测试数据, SQL> create table t01 (id number, insert_time...SQL> insert into t01 values(1, to_date('2020-08-25','yyyy-mm-dd')); 1 row created....需求是检索insert_time是昨天记录,他用这条SQL,通过trunc(sysdate)-1得到前一天日期作为条件,乍看很合理,但是结果是0, SQL> select * from t01 where...------------ 1 25-AUG-20 其实这个问题很简单,DATE类型在Oracle中定义包含了“年、月、日、时、分、秒”,即使像上例中,to_date('2020-08-...-08-26 00:00:00 条件中>trunc(sysdate)-1,就是超过昨天00:00:00,而存储数据,to_date('2020-08-25','yyyy-mm-dd'),就是昨天00

    83230

    matinal:Oracleto_date()

    Oracle数据库中,Oracle to_date()函数是我们经常使用函数,下面就为您详细介绍Oracle to_date()函数用法 to_date()与24小时制表示法及mm分钟显示:...一、在使用Oracleto_date函数来做日期转换时,很多Java程序员也许会直接采用“yyyy-MM-dd HH:mm:ss”格式作为格式进行转换,但是在Oracle中会引起错误:“ORA 01810...to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') 原因是SQL中不区分大小写,MM和mm被认为是相同格式代码,所以OracleSQL采用了...to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') 二、另要以24小时形式显示出来要用HH24 to_date(sysdate,'yyyy-MM-dd...HH24:mi:ss') //mi是分钟 to_date(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual;//mm会显示月份  oracleto_date参数含义

    20320

    java months between,ORACLE函数MONTHS_BETWEEN

    MONTHS_BETWEEN返回日期date1和date2之间月数。如果date1晚于date2,则结果为正数。如果date1早于date2,则结果为负。...如果date1和date2是一个月相同天数或两个月最后几天,那么结果总是一个整数。否则,Oracle数据库将根据一个31天月份计算结果小数部分,并考虑date1和date2时间组件差异。...examples: `SELECT MONTHS_BETWEEN (TO_DATE(’02-02-2020′,’MM-DD-YYYY’), TO_DATE(’01-01-2020′,’MM-DD-YYYY...’) ) “Months” FROM DUAL; Months 1.03225806` months_between算法为01-01-2020到02-02-2020,2020年一月份算一个整月,不整为...2月份两天, 于是 MONTHS_BETWEEN (TO_DATE(’02-02-2020′,’MM-DD-YYYY’),TO_DATE(’01-01-2020′,’MM-DD-YYYY’) ) =

    43820

    Oracle 与 MySQL 差异分析(7):日期和时间函数

    Oracle 与 MySQL 差异分析(7):日期和时间函数 1 获取当前日期和时间 1.1Oracle Oracle日期类型是带有时分秒,获取当前时间可以用sysdate,如果要获得更高精度可以用...2 字符串和日期转换 2.1Oracle to_date:字符串到时间转换 to_char:时间到字符串转换 常用日期格式有 yyyymmddhh24miss 和yyyy-mm-dd hh24...eg: select to_char(sysdate, ’yyyymmddhh24miss ’), to_date(‘2017-06-01 9:25:40’, ‘yyyy-mm-ddhh24...:mi:ss’), to_date(‘2017-06-01 9:25:40 PM’, ‘yyyy-mm-ddhh:mi:ss am’) from dual; 2.2 MySQL str_to_date...3.2 MySQL MySQL中似乎没有类似Oracletrunc函数,可以用date_format获取想要日期格式。 extract:获取日期一部分。

    2.8K22
    领券