1樓:
如果像你這個只是單純的or的話,這兩種寫法應該都可以。
可是如果是有and又有or,那麼就需要你先把這個條件的先後分清楚了,這樣的情況,肯定需要括號括清楚每一層。
2樓:刑振梅稱書
查詢語句的效果
with t_tmp as ( select 'abcdefg(123456)xyz' as f1)
select f1,substring(f1,1,charindex('(',f1)-1) +
substring(f1,len(f1)-charindex(')',reverse(f1))+2,100) as f2 from t_tmp
對應的update為下,順便加了過濾條件避免不是此類資料也被處理了
update 表名 set 欄位名 =
substring(欄位名,1,charindex('(',欄位名)-1) +
substring(欄位名,len(欄位名)-charindex(')',reverse(欄位名))+2,len(欄位名))
where charindex(')',欄位名)>charindex('(',欄位名) and charindex('(',欄位名)>0
sql儲存過程中如何使用declare有的儲存過程宣告瞭,有的沒有宣告。請回答的詳細點。。謝謝
如果你把儲存過程看作是批處理語句就好理解多了!儲存過程只不過是一個帶著名稱的sql批處理語句,如果在整個過程中需要變數時就是可以宣告,但該變數宣告後只能存活在批處理 儲存過程 的執行中,執行完畢後就會消失,這種宣告的格式就是 declare 變數名 型別 其中變數名為了與資料庫中的列名相互區別,所以...
oracle儲存過程中update語句一直在執行中無法更
嘗試更改sql指令碼如下所示 create or replace procedure test wz in yf in varchar2 isv yf varchar 50 begin v yf in yf update log insert 不要用別名set zfsjdc date sysdate...
sql儲存過程中如何插入使用臨時表
在儲存過程中 是不可以建立臨時表的.建議使用表變數代替臨時表進行操作 或者在儲存過程外面建好臨時表 祝你好運 可以使用如下方法 declare sql varchar 2000 begin set sql select into tmp from student print sql exec sql...