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...