1樓:賽爾號難民玩家
資料庫所有存在識別符號的地方,我都不會在表名稱、資料庫密碼裡使用@, $, &, *, `這樣的字元。最大的原因是這些字元在指令碼中往往會產生歧義。比如在sql*plus中,「@」符號是用來在連線資料庫時定義一個tnsnames輸入的。
在shell指令碼中,「$」符號表示在它後面的內容代表一個變數名稱。如果這些特殊的字元用在了表名稱中,那麼一個與這個表相關的shell指令碼功能有可能會受到影響,從而無法實現相應的功能。除了以上舉的兩個例子,在使用oracle資料庫時還有許多其他字元需要注意,而目前所有的版本都存在這樣的問題,因此oracle dba一定要謹記著一點。
2樓:雪伴我行
沒看明白你的意思。要是說欄位的值的話,是可以使用.的。
若是說表或欄位的名稱的話可以用雙引號括起來,引用時也要用雙引號,如下:
create table "test.table1" (a number ,
b number )
select * from "test.table1"
oracle怎麼查出欄位中含有特殊字元的資料?表名:table,欄位:col,請直接給出語句,謝謝! 10
3樓:匿名使用者
select * from table t where regexp_like(t.col,'特殊字元')
4樓:匿名使用者
select * from table t where t.col like '%m%' escape 『m'
使用escape定義轉義符
在使用like關鍵字進行模糊查詢時,「%」、「_」和「」單獨出現時,會被認為是萬用字元。為了在字元資料型別的列中查詢是否存在百分號(%)、下劃線(_)或者方括號()字元,就需要有一種方法告訴dbms,將like判式中的這些字元看作是實際值,而不是萬用字元。關鍵字escape允許確定一個轉義字元,告訴dbms緊跟在轉義字元之後的字元看作是實際值。
如下面的表示式:
like '%m%' escape 『m』
使用escape關鍵字定義了轉義字元「m」,告訴dbms將搜尋字串「%m%」中的第二個百分符(%)作為實際值,而不是萬用字元。當然,第一個百分符(%)仍然被看作是萬用字元,因此滿足該查詢條件的字串為所有以%結尾的字串。
oracle欄位中含特殊字元
5樓:匿名使用者
是用pl/sql客戶端操作的麼,是的話直接改成這樣試試: insert into table(id,name,device-id) values(?,?,'?');
6樓:匿名使用者
你先確定資料庫中對應的table表中是否有「device-id」這個欄位。。。。。如果有的話,是指加上雙引號
7樓:射手幽靈伊
device-id 加上雙引號 如 "device-id"
oracle怎樣才能把特殊字元存到資料庫裡面去了
8樓:抽屜
單引號用兩個就可以了:
sql> select '''' from dual;'-'&是sqlplus裡才用到的特殊字元,做巨集替換用的,程式語言應該不受影響。如果你用不到它,可以乾脆禁掉:
sql> show define
define "&" (hex 26)
sql> set define off
sql> select '&aaaaa' from dual;
'&aaaa
------
&aaaaa
你實在都要用就用chr(38)
9樓:千鋒教育
方法一:在sql語句中將'&'替換成chr(38),因為chr(38)是『&』的ascii碼
sql> select 'tom' || chr(38) || 'jerry' from dual;
方法二:分拆原來的字串
sql> select 'tom' || '&' || 'jerry' from dual;
備註:如果是在命令列執行,可以設定 」set define off「,之後在正常執行sql語句即可。
10樓:匿名使用者
直接用一個varchar2型別的欄位儲存就可以 了。mysql下測試無誤。
11樓:匿名使用者
用asc碼來插入吧
譬如&的asc碼是chr(38) '的是chr(39)你要是插入'&的話
insert into 表 (欄位) values (chr(39)||chr(38))
12樓:匿名使用者
查相應的ascii,用chr(xx)代替,比如 chr(13)
oracle資料庫插入特殊字元
13樓:
轉成十六進位制,再儲存
14樓:無辜的悲傷鬼
這問題問的好,有答案的話也給我份吧
15樓:淡如水
指數好像滿足不了,特殊符號傳不進去,是字符集部隊,看下登錄檔nts_lang中資料的語言吧...
如何查詢一個oracle資料庫中所有表的所有欄位哪個包含特定字串?
16樓:守冠仝弘
這個不可能使用簡單一個查詢語句來實現這個功能。因為你的這個需要基本都是比一定邏輯的查詢,實現起來有相當的難度。因為首先要確定有多少張表,每張表中有多少個欄位,然後才能實現某個欄位中的某條記錄包含你所需要的這個特定的值。
這僅僅是一個簡單的思路,供參考。
17樓:素靖員運潔
你這個要求基本上用一兩句t-sql語句無法實現。另外如果是大資料,基本上一查就死了,這個需求基本上屬於無理取鬧的。因為要實現你的要求,首先要在**裡面獲取資料庫都有哪些表,這些表都有哪些欄位,然後在一個個欄位去比較。
想想讓資料庫來實現這些東西都頭痛。
不知道全文搜尋是不是有這個功能,反正想自己寫幾行**就實現這個功能基本上無解。
18樓:匿名使用者
在oracle中如何檢視各個表的內容
19樓:手機使用者
安裝oralce的輔助工具pl/sql,登陸後,新建查詢視窗,輸入select * from 表名.
20樓:
比如你建立了多個表如student、course、sc1.檢視student、course、sc表中所有內容:
(格式:select * from 表名稱,*代表所有內容,)select * from student;
select * from course;
select * from sc;
2.插入資料,假設student表中的列為(sname,sno,sage),向表student插入新的資料,學生姓名:李明,學生學號:0101010,年齡:19,則:
(格式:insert
into 表名(屬性列1,屬性列2,……,屬性列n)values (常量1,常量2,……,常量n);
注意:into子句中指出表名的新增加的元組在哪些屬性列上要賦值,屬性的順序可以與建立表中的順序不一樣,values子句對新元組的各屬性賦值,字元型資料要加英文符號單引號,而數值型則不用。
)insert into student(sname,sno,sage)
values('李明','0101010',19);
21樓:我tm不管
select * from 表
這樣就行了
22樓:匿名使用者
裝客戶端和toad工具
23樓:
進入資料庫後,用select語句,如:
select * from tablename
oracle如何知道是誰刪除了表中的資料
從日誌檔案來看吧.這有個 裡面說的很清楚 標題是 racle日誌檔案分析 oracle的一個資料表被刪除,如何恢復資料,以及查詢是誰進行了操作 10 不知道的oracle資料表是drop 掉是還是其他,如果是drop可以通過如下恢復 1.select object name,original nam...
oracle中如何查詢某個表中那些欄位含有某個字元
查詢該欄位,用excption異常抓取,如果沒異常則說明有該欄位。如果進入異常程式塊則說明無該欄位。oracle database,又名oracle rdbms,或簡稱oracle。是甲骨文公司的一款關聯式資料庫管理系統。它是在資料庫領域一直處於領先地位的產品。可以說oracle資料庫系統是目前世界...
如何在oracle中查詢每個表的記錄條數
1 建立測試表 create table test type num type varchar2 20 cardno varchar2 20 orgname varchar2 20 2 插復入測試資料 制 insert into test type num values 1 201103 日本 in...