oracle欄位中含特殊字元

2025-07-26 05:35:41 字數 3236 閱讀 1278

1樓:匿名使用者

你先確定資料庫中對應的table表中是否有「device-id」這個欄位。。。如果有的話,是指加上雙引號。

2樓:網友

是用pl/sql客戶端操作的麼,是的話直接改成這樣試試: insert into table(id,name,device-id) values(?,'?');

sql中如何判斷字串中含有特殊字元

3樓:網友

用正規表示式,比如 select regexp_instr (,'[0-9]+') as a from tab1 t

你的問題用case when或者decode 加正則很容易解決oracle貌似沒有判斷是否數字的函式。

不過利用正則或者to_number函式可以自己寫乙個。

4樓:匿名使用者

判斷 是否是數字函式isnumeric

我在去除oracle中的特殊字元,但是要保留以下幾個字元 ( ) | 要怎麼寫語句

5樓:網友

str=含有特殊字元的字串。

select translate(str,'()|'||str,'()|') from dual;

這個是隻保留「()其他所有字元數字漢字都去除的。如果想加入保留什麼就在 『』中再加入就可以了,不過加漢字就有點麻煩了。

select translate('您好123*(','()|'||'您好123*(','()|') from dual;

translate('您好123*(','()|'||'(

oracle中如何插入特殊字元:&和'(多種解決方案)

6樓:震哥刷粉團

我們在sql*plus下執行 sql show all命令時,可以發現乙個引數:define & hex 26),如下所示。

concat . hex 2e)

copycommit 0

copytypecheck on

define & hex 26)

describe depth 1 linenum off indent offecho off

這個是oracle裡面用來識別自定義變數的設定,現在我們在sql*plus下將其關閉:

sql set define off;

然後再次執行匯入指令碼,ok!問題搞定。

注意:如果是在toad中執行,建議在每乙個要匯入的指令碼第一行加上前面那句關閉define的話,否則當你匯入第二個含有特殊字元的指令碼的時候,又會出錯。

如果是在sql*plus中執行,則只需要設定一次define off,後面就可以連續匯入了。直到你重新設定define on為止。

方法二:在sql語句中將'&'替換成chr(38),因為chr(38)是『&』的ascii碼。

sql select 'tom' ||chr(38) |'jerry' from dual;

方法三:分拆原來的字串。

sql select 'tom' ||'&' ||'jerry' from dual;

我們可以看到,方法一最為簡便,而且效率也最高。方法二因為有乙個呼叫函式的過程,所以效能稍差。方法三需要兩次連線字串,效率最差!

方法一:使用轉義字元。

sql select 'test' ||'''' from dual;

第三個'才是我們真正的內容。

方法二:同樣是使用轉義字元,只不過方式不同而已。

sql select 'test ''' from dual;

注意:這裡的第二個,第三個'就是我們上面方法一中提到的轉義符和真正的內容。

7樓:網友

方法一:在sql語句中將'&'替換成chr(38),因為chr(38)是『&』的ascii碼。

sql> select 'tom' ||chr(38) |'jerry' from dual;

方法二:分拆原來的字串。

sql> select 'tom' ||'&' ||'jerry' from dual;

備註:如果是在命令列執行,可以設定 」set define off「,之後在正常執行sql語句即可。

oracle中怎樣去掉值中含有特殊符號

8樓:

哈哈,不知道這樣行不行。

repacel(你的字串,'特殊符號','')

oracle儲存過程中給變數賦值帶有特殊符號

9樓:網友

create or replace procedure tt isv_sql varchar2(10000);

beginv_sql:='create table aa as select * from bb where like ''123%''';

execute immediate v_sql;--這句你可以先遮蔽掉。

dbms_;-把v_sql列印出來看看。

end;

去除oracle中的特殊字元,但是要保留以下幾個字元 ( ) | 要怎麼寫語句?

10樓:最紳士的痞子灬

1、在sql語句中,有些特殊字元,是sql保留的。比如 ' [ 等。

2、當需要查詢某資料時,加入條件語句,或著當你需要insert記錄時,我們用 ' 來將字元型別的資料引起來。比如:select * from customers where city = 'london'。

3、當表的名字或列的名字中,含有空格等一些特殊字元時,我們需要用 將表名引起來,告訴語法分析器,號內的才是乙個完整的名稱。比如select * from [order details]。

4、如果,字元資料中,含有 ' 改怎麼辦呢?其實,好多人在這裡並沒有處理字元川中 ' 符號,才造成sql 注射危險。就那上面的那個例子。

在sql語句拼接的時代,比如string sql = "select * from customers where customerid = '" + temp + "'"。

5、如果表或列的名稱中含有 [ 或 ] 字元呢?比如select * from [order] details],那中間 ] 符號豈不是先和第乙個[ 配了。後面的就是非法的了。

怎麼辦呢? 簡單,使用 ]]代替 ] 對於[,則無須處理。

那就該為select * from [order]] details]。

遊戲名字中的特殊字元怎麼打,遊戲名字中特殊符號怎麼打

你打的這些我試了,v1 v9裡有啊 用搜狗打字法 一般的都能打出來 遊戲名字中特殊符號怎麼打?在全拼裡邊打wu 就可以找到乄 這個符號是可以使用的 還有全拼裡的一些怪異的字應該都可以使用 輸入法點出來 v 數字就有特殊符號了。手打求採納 用智慧abc 輸入v 1 9 的任意數字 全拼 pianpan...

oracle如何知道資料庫表中哪個欄位設定了唯一性約束

select from user constraints 這樣可以查出所有的使用者表的約束 你可以通過where條件指定你的那個約束 找出表 select a.constraint name,a.table name,a.column name from user cons columns a,us...

where欄位中不存在某個字元怎麼寫mysql判斷語句

mysql不是sqlserver,mysql要使用locate 或 instr 函式內。容 select from a where locate kid b 0 and locate kid b 0 或者 select from a where instr b,kid 0 and instr b,k...