Oracle表中資料如何能夠顯示出特殊字元求知道

2023-01-29 17:25:12 字數 4628 閱讀 2488

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