Ⅰ oracle如何判断一个字符串是否为数字或日期
自己写个自定义函数吧
用 to_number或者to_date转换,然后加上exception判断
凡是没有触发exception的就是合法数据,触发的就是异常数据
Ⅱ oracle去除不合法日期
2个办法:
1. 用游标,逐行进行to_date(datecol,'yyyymmdd'),如果出现exception,则日期格式错误。
2. 自己写一个函数,输入日回期字符串,答输出1/0
判断此格式的字符串是否是正确的日期,函数中可以:
a. 用to_date(datecol,'yyyymmdd'),如果出现exception,则日期格式错误,返回0;否则返回1。
或者
b. 自己进行日期的规则判断:1年有12个月,各个月有多少天(闰年的2月需要特别处理)
然后update或者delete
比如 delete from table where f_date_validate(datecol) = 0;
Ⅲ oracle怎么把数值型日期转换成日期字符型
oracle把数值型日期转换成日期字符型的操作方法和详细步骤如下:
1、首先,将字符串类型转换为数字类型。
此方法使用to_number()直接进行转换。 具体语法为to_number(STR),如下图所示,然后进入下一步。
Ⅳ oracle数据库表里的日期时间字段(yyyy-mm-dd,hh24:mi:ss),剔除指定时间的数据,应该如何写sql语句
给你个建议
to_char(sysdate,'d') 可以得出是周几 因为国外周日才是第一天,所以周三是4
剩下的你 between and就可以了
Ⅳ Oracle过滤掉无用的日期数据问题
日期强烈不建议使用字符串。。。。。
写存储过程可以搞搞
Ⅵ oracle如何模糊查询指定月份的数据,日期列为varchar2()类型日期数据2015-05-04
select * from 表名 where to_char(日期列名,'yyyymm')='201505';
Ⅶ 如何去掉oracle数据库日期中的星期
你说的是这个,不让他显示星期几的意内思吧。看容这个
http://www.cnblogs.com/kerrycode/p/4983085.html
Ⅷ oracle怎么计算两个日期之间去除周末的天数
适用于SQL上下来文环境自
去掉的是周六/7,周日/1两天周末
具体SQL如下、这是避免日期格式本地化的版本
selectcount(1)from(
selectto_char(TO_DATE('2016-12-24','yyyy-MM-dd')-level,'d')DOW
fromal
connectbylevel<=trunc(TO_DATE('2016-12-24','yyyy-MM-dd')-TO_DATE('2016-11-19','yyyy-MM-dd'))
)whereDOWnotin(7,1);
总结:
第一层查询是通过connectbylevel生成两个日期间的天数行
其中to_char(,'d')DOW字段返回的是周几的对应1~7的数字
第二层查询就是去掉周六周日然后count天数
Ⅸ oracle中表中含有的日期字段如何作为筛选条件
日期需要进行格式匹配之后才能进行条件处理。
date 函数 和 to_date 两个函数。
Ⅹ oracle中怎样找出数据库中不符合规格的日期,我需要的格式日期譬如:2019-03-11
create or replace function isdate(p in varchar2)return varchar2isresult date;beginresult:= to_date(p,'yyyy-mm-dd');return to_char(result,'yyyy-mm-dd');exceptionwhen others then return '0';end;
正常来的日期返回本身自
否则返回0
测试1
1
select isdate('2014-01-01') from al
测试2
1
select isdate('2014-01-33') from al
-------------
那象你那样这样写不就行吗
你那个报错
create or replace function isdate(p in varchar2)return intisresult date;beginresult:= to_date(p,'yyyy-mm-dd');return 1;exceptionwhen others then return 0;end;