在日常的生產中,數據來源往往多種多樣,今天就說說excel中的額數據吧,因為現在好多開發語言支持將數據導出到excel,但是有些不標准的做法會導致產生無法識別的特殊字符,在數據庫中以?的形式存在,為我們數據的清洗帶來了一定的麻煩,當特殊字符出現在字符串中,對實際音響不大,但是當特殊字符出現在數字類型的字段後,便會影響到實際的生產了,此時如何找出特殊字符就會很困難,因為無法識別具體是什麼字符,所以我們就需要轉換一下思路,將標准的數據找出來,然後用總得數據集出去標准的數據集,剩下的就是包含特殊字符的數據集了,那麼如何找出標准的呢,好像也很難,那麼好像有一個函數,正則表達式能解決問題,哈哈,真的可以,果斷使用,具體的使用方法如下:select * from value_data p where p.line_num not in (select t.line_num from value_data t where REGEXP_LIKE(t.sale_num,'(^[+-]?\d{0,}\.?\d{0,}$)'))
在日常的生產中,也有時候因為設計不當或者操作不當,會導致數據庫的sessions死鎖,這時候數據庫就會等待,這時候數據庫session之間的爭用會嚴重影響實際的業務處理,所以必須快速准確的關閉死鎖的session,
select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$session sess where ao.object_id = lo.object_id and lo.session_id = sess.sid; alter system kill session '46,53';
通過以上兩個操作,就可以快速准確的將死鎖session關閉。
數據庫的分頁,這個不用說,大家應該都會用到的,記錄一下吧select * from(select rownum no ,t.line_num,t.ven_cust from value_data t) where no>1 and no <11