Ⅰ 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;