Oracle插入日期数据常见的2个问题和解决方法
1、无效的月份问题
最近在往数据库中插入时间时,Oracle报“无效的月份问题”,具体SQL如下:
INSERT INTO TS_COUNT (
ID,CNAME, STARTTIME, ENDTIME,VALUE
) VALUES (
1, 'John', '01/06/2013', '02/06/2013', 800
);
报错:ORA-01843:无效的月份。这是由于日期格式不对造成的。
解决办法:
用select sysdate from dual; 查看默认日期格式,然后按系统里的日期格式,输入就可以解决问题了。
2、日期插入格式问题
插入日期格式数据时,报ORA-01861: 文字与格式字符串不匹配。
如果直接按照字符串方式,或者,直接使用to_date('2007-12-28 10:07:24'),没有指定日期格式,就会报错:ORA-01861: 文字与格式字符串不匹配,必须指定日期格式。
如下:
to_date('2007-12-28 10:07:24' , 'yyyy-mm-dd hh24:mi:ss')
相关推荐
-
Oracle最大日期获取方法
在开发应用中如何获取oracle的最大日期呢?本文将提供这样一个获取方法,需要的朋友可以参考下Sql代码 复制代码 代码如下: -- Created on 2010/06/08 by NAN declare -- Local variables here TYPE t_test IS TABLE OF DATE INDEX BY BINARY_INTEGER; v_test t_test; v_date DATE; BEGIN -- Test statements here v_test(1)
-
oracle 日期时间函数使用总结
今天闲来没事, 特意从网上整理了一些资料, 以备日后查阅. 一.常用日期数据格式 1. 获取年的最后一位, 两位, 三位, 四位 select to_char(sysdate,'Y') from dual; -- 获取年的最后一位select to_char(sysdate,'YY') from dual; -- 获取年的最后两位select to_char(sysdate,'YYY') from dual; -- 获取年的最后三位select to_char(sysdate,'YYYY') f
-
Oracle 获取上周一到周末日期的查询sql语句
复制代码 代码如下: -- Oracle 取上周一到周末的sql -- 这样取的是 在一周内第几天,是以周日为开始的 select to_char(to_date('20130906','yyyymmdd'),'d') from dual; --结果:6 注释:2013.09.06是周五,为本周的第六天 select to_char(sysdate+(2-to_char(sysdate,'d'))-7,'yyyymmdd') from dual;---上周一 select to_char(sys
-
oracle中to_date详细用法示例(oracle日期格式转换)
TO_DATE格式(以时间:2007-11-02 13:45:25为例) 1. 日期和字符转换函数用法(to_date,to_char) 复制代码 代码如下: select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; //日期转化为字符串 select to_char(sysdate,'yyyy') as nowYear from dual; //获取时间的年 select to_char(sys
-
Oracle查询优化日期运算实例详解
加减日.月.年 在Oracle中,date类型可以直接加减天数,而加减月份要用add_months函数. select a.hiredate 雇用日期, a.hiredate + 5 加5天, a.hiredate - 5 减5天, add_months(hiredate, 5) 加5个月, add_months(hiredate, -5) 减5个月, add_months(hiredate, 5 * 12) 加5年, add_months(hiredate, -5 * 12) 减5年 fro
-
ORACLE 毫秒与日期的相互转换示例
毫秒转换为日期 SELECT TO_CHAR(1406538765000 / (1000 * 60 * 60 * 24) + TO_DATE('1970-01-01 08:00:00', 'YYYY-MM-DD HH:MI:SS'), 'YYYY-MM-DD HH24:MI:SS') AS CDATE FROM DUAL; 日期转换毫秒 SELECT TO_NUMBER(TO_DATE('2014-07-28 17:12:45', 'YYYY-MM-DD HH24:MI:SS') - TO_DA
-
Oracle to_char 日期转换字符串语句分享
1>以12小时制显示 SQL>select to_char(sysdate,'YYYY-MM-DD HH12:MI:SS AM')from dual; TO_CHAR(SYSDATE,'YYYY-MM-DDHH1 ------------------------------ 2007-06-29 02:50:06 下午 2>以24小时制显示 SQL> select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS AM')from dual; TO_C
-
ORACLE中的日期加减操作实例介绍
无论是DATE还是timestamp都可以进行加减操作. 可以对当前日期加年.月.日.时.分.秒,操作不同的时间类型,有三种方法: 1 使用内置函数numtodsinterval增加小时,分钟和秒 2 加一个简单的数来增加天 3 使用内置函数add_months来增加年和月 例: 对当前日期增加一个小时: 复制代码 代码如下: SQL> select sysdate, sysdate+numtodsinterval(1,'hour') from dual ; SYSDATE
-
详解oracle 日期格式(总结)
to_date("要转换的字符串","转换的格式") 两个参数的格式必须匹配,否则会报错. 即按照第二个参数的格式解释第一个参数. to_char(日期,"转换格式" ) 即把给定的日期按照"转换格式"转换. 转换的格式: 表示year的:y 表示年的最后一位 yy 表示年的最后2位 yyy 表示年的最后3位 yyyy 用4位数表示年 表示month的:mm 用2位数字表示月:mon 用简写形式 比如11月或者nov :m
-
Oracle插入日期数据常见的2个问题和解决方法
1.无效的月份问题 最近在往数据库中插入时间时,Oracle报"无效的月份问题",具体SQL如下: 复制代码 代码如下: INSERT INTO TS_COUNT ( ID,CNAME, STARTTIME, ENDTIME,VALUE ) VALUES ( 1, 'John', '01/06/2013', '02/06/2013', 800 ); 报错:ORA-01843:无效的月份.这是由于日期格式不对造成的. 解决办法: 用select sysda
-
python 插入日期数据到Oracle实例
啥也不说了,还是看代码吧! [root@yyjk DATABASE]# cat DBI.py # -*- coding: utf-8 -*- import cx_Oracle import time import datetime class DBI (object): def LoadDB(self,a,b): print self conn = cx_Oracle.connect('tlcbuser/tlcbuser@1.1.1.1/tlyy') cursor = conn.cursor()
-
oracle插入字符串数据时字符串中有'单引号问题
使用insert into(field1,field2...) values('val1','val2'...)时,若值中有单引号时会报错. 处理方法:判断一下val1,val2中是否含有单引号,若含单引号,则将单引号'替换成两个单引号''. 将字段与字段值组织到一个HashTable中,再抽象出一个组织sql语句的函数getSqlByHashTable(): HashTable ht =new HashTable(); ht.add(field1,val1); ht.add(field2,va
-
oracle插入字符串数据时字符串中有'单引号问题
使用insert into(field1,field2...) values('val1','val2'...)时,若值中有单引号时会报错. 处理方法:判断一下val1,val2中是否含有单引号,若含单引号,则将单引号'替换成两个单引号''. 将字段与字段值组织到一个HashTable中,再抽象出一个组织sql语句的函数getSqlByHashTable(): HashTable ht =new HashTable(); ht.add(field1,val1); ht.add(field2,va
-
Oracle客户端与plsql查询数据乱码修改成中文的快速解决方法
1.查询ORACLE服务器的语言.地域和字符集 select * from nls_database_paameters; 查询结果如下图, NLS_LANGUAGE 表示"语言",NLS_TERRITORY 表示"地域",NLS_CHARACTSET 表示"字符集",将他们三个按照"语言_地域.字符集"的格式拼接起来,就有了"AMERICAN_AMERICA.ZHS16GBK". 下面正式的来操作: 2.
-
Python连接Oracle之环境配置、实例代码及报错解决方法详解
Oracle Client 安装 1.环境 日期:2019年8月1日 公司已经安装好Oracle服务端 Windows版本:Windows10专业版 系统类型:64位操作系统,基于x64的处理器 Python版本:Python 3.6.4 :: Anaconda, Inc. 2.下载网址 https://www.oracle.com/database/technologies/instant-client/downloads.html 3.解压至目录 解压后(这里放D盘) 4.配置环境变量 控制
-
jQuery通过ajax方法获取json数据不执行success的原因及解决方法
1.jquery通过ajax方法获取json数据不执行success回调 问题描述:jquery通过ajax方法获取json数据不执行success回调方法 问题原因:json格式存在问题或不符合标准写法,导致总是执行error回调方法 解决方案:使json格式务必符合下述3个标准写法: 1)键名称:用双引号括起: 2)字符串:用双引号括起: 3)数字,布尔值不需要使用双引号括起 : 注意:一定是双括号! 2.jQuery中ajax使用json数据类型总是跳过success执行error语句 执
-
layui数据表格 table.render 报错的解决方法
一.报错信息 Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Wed Jan 23 15:20:18 CST 2019 There was an unexpected error (type=Internal Server Error, status=500). An error happened during temp
-
vue列表数据发生变化指令没有更新问题及解决方法
问题描述,在vue的for循环中使用了指令,然后对数据进行筛选的时候,发现指令没有起作用. 如图前面的图标是根据文件名的后缀名,返回响应图标的,通过指令实现的.然后我们在搜索框中删选以后,数据更新了,但是图标没有更新 分析原因 <div v-for="(item, index) in myDate" :key='index'> ... </div> 问题就出在了:key='index'因为vue中for循环是根据key的值的变化来更新vnode的,很显然我们经过
-
mysql 主从数据不一致,提示: Slave_SQL_Running: No 的解决方法
本文实例讲述了mysql 主从数据不一致,提示: Slave_SQL_Running No 的解决方法.分享给大家供大家参考,具体如下: 在slave服务器上通过如下命令 mysql> show slave status\G; 显示如下情况: Slave_IO_Running: Yes Slave_SQL_Running: No 表示slave不同步 解决方法一(忽略错误,继续同步): 1.先停掉slave mysql> stop slave; 2.跳过错误步数,后面步数可变 mysql>
随机推荐
- 报错:XML页无法显示,下列标记没有被关闭解决方法
- JavaScript闭包和范围实例详解
- 网页屏蔽(左右键,代码等)的非JS方法第1/2页
- .NET 中英文混合验证码实现代码
- ASP.Net中命名空间Namespace浅析和使用例子
- php自定义类fsocket模拟post或get请求的方法
- C++实现多源最短路径之Floyd算法示例
- Mysql语句快速复习教程(全)
- 利用python自动生成docker nginx反向代理配置
- Apache配置独立域名的方法
- MySQL双Master配置的方法详解
- CISCO路由器初始配置简介
- 按ID号发布文章(精)
- Swift学习教程之SQLite的基础使用
- 小程序红包雨的实现示例
- PHP正则表达式处理函数(PCRE 函数)实例小结
- node 标准输入流和输出流代码实例
- JS判断两个数组或对象是否相同的方法示例
- 易语言删除组合框列表中所有项目的方法
- Java读取一行空格隔开的数字字符串并求出这些数字的和方法