oracle

  1. 鎖表處理
    https://www.cnblogs.com/pugang/p/13275696.html
  2. 儲存過程
    https://zhuanlan.zhihu.com/p/137896709
  3. 聯(lián)合索引失效
    https://blog.csdn.net/qq_35275233/article/details/87888809

實(shí)際操作

  1. 更新表
SET t1.column1 = (SELECT t2.column1 FROM table2 t2 WHERE t2.id = t1.id),
t1.column2 = (SELECT t2.column2 FROM table2 t2 WHERE t2.id = t1.id)
WHERE EXISTS (SELECT 1 FROM table2 t2 WHERE t2.id = t1.id);

SET (A1, A2, A3) = (SELECT B1, B2, B3 FROM B WHERE A.ID = B.ID)
  1. substr
  格式1: substr(string string, int a, int b);

  格式2:substr(string string, int a) ;

解析:

    格式1:
        1、string 需要截取的字符串
        2、a 截取字符串的開始位置(注:當(dāng)a等于0或1時,都是從第一位開始截?。?        3、b 要截取的字符串的長度

    格式2:
        1、string 需要截取的字符串
        2、a 可以理解為從第a個字符開始截取后面所有的字符串。
  1. instr
 instr('源字符串' , '目標(biāo)字符串' ,'開始位置','第幾次出現(xiàn)')
  1. select時做邏輯處理
SELECT IF(TRUE,1+1,1+2);
-> 2
 
SELECT IF(FALSE,1+1,1+2);
-> 3
 
SELECT IF(STRCMP("111","222"),"不相等","相等");
-> 不相等
 
-- 查找出售價為 50 的書,如果是 java 書的話,就要標(biāo)注為 已售完:
select *,if(book_name='java','已賣完','有貨') as product_status from book where price =50

SELECT IFNULL(NULL,"11");
-> 11
 
SELECT IFNULL("00","11");
-> 00

SELECT t.status,
  CASE t.status
  WHEN '失敗' THEN '捕獲失敗'
  ELSE '捕獲成功' END "legendValue"
  1. 對大字段做模糊搜索
    效率不高,可以對大字段進(jìn)行處理
  2. 對日期進(jìn)行處理
    | 表頭 | 表頭 |

| ---- | ---- |

| date格式 | to_char,format格式是yyyy-MM-dd 或者yyyyMMdd都可以,加上時分秒也可以 |
| timestamp格式 | 單元格 |
| date String格式 | 直接to_date,format格式就看是源格式,如果to_date(20240313, ‘yyyyMMdd’), 那么出來的格式是 2024-03-13 00:00:00 |
| timestamp String格式 | 2024-03-13 00:00:00.000,先substr截取1,19,然后to_date |
| date格式 | 單元格 |
| timestamp格式 | 單元格 |

oracle批量處理

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容