在数据库中,有一个字段为字符型的,里面存的值有的为:2007-6-5 14:36:47 有的为:2007-6-5 我想将其取出时统一用一个sql变为:2007-6-5这样的格式,但转换2007-6-5 14:36:47 类型的时候一直报错,这是怎么回事?无效数字! oracle 9
解决方案 »
- Oracle DataGard备库为何接收不到日志呢?
- ORACLE日期运算问题
- 请人改一个简单的存储过程。谢谢1
- 奇怪,简单的格式化命令怎么出现这样的结果? column empno format a10,全格式化成##########了?!咋回事
- 登陆问题,急!!
- 求一查询SQL语句,急
- 我在Oracle9i中配置监听程序TNSLSNR.exe出现错误
- 请教如何改变数据库中表的列名
- 请教在Sun Unix下,使用OCI连接Oracle数据库,工程连接的时候需要什么lib?
- 一个oracle中简单的update问题。
- 如何通过数据字典查询在建表时对表设的主键、外键、唯一键和check等信息啊?
- ORACLE有登录和操作记录的详细日志吗?
比如:
NLS_DATE_FORMAT=YYYYMMDDHH24MISS, export NLS_DATE_FORMAT
也可以选择其他格式的, 这样每次去查询的时候都用同样的格式就可以了.
1 转成只有日期的日期型
SELECT trunc(to_date('2007-6-5 04:36:47','yyyy-mm-dd hh24:mi:ss')) FROM DUAL
2 转成只有日期的字符串型
SELEC to_char( trunc(to_date('2007-6-5 04:36:47','yyyy-mm-dd hh24:mi:ss')),'yyyy-dd-mm' ) FROM DUAL
ORA-01830: 日期格式图片在转换整个输入字符串之前结束
问题:varchar2类型转换成date类型
select to_date(INVOICE_DATE,'yyyy-mm-dd') from tab; --INVOICE_DATE varchar2(30)
提示 ORA-01830: 日期格式图片在转换整个输入字符串之前结束 错误
最后查的原因:INVOICE_DATE=‘2005-11-10 00:00:00’的长度大于格式化'yyyy-mm-dd'的长度
解决:(使用substr())
to_date(substr(INVOICE_DATE,1,10),'yyyy-mm-dd')