你如果想通過這個(gè)彌補(bǔ)你數(shù)據(jù)結(jié)構(gòu)上的問題,是不行的。因?yàn)閿?shù)據(jù)庫里記錄存儲(chǔ)順序?qū)?shù)據(jù)庫來言沒有實(shí)質(zhì)意義。
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),安多企業(yè)網(wǎng)站建設(shè),安多品牌網(wǎng)站建設(shè),網(wǎng)站定制,安多網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,安多網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
你的要求無論在那種數(shù)據(jù)庫中都可以實(shí)現(xiàn),前提是你需要增加一個(gè)序號(hào)字段,用來存儲(chǔ)順序號(hào),但是一旦數(shù)據(jù)被刪除你就要建一個(gè)觸發(fā)器去重新生成這個(gè)順序號(hào)!
方法有很多種,這里提供一例供參考:
select * from (select * from scott.emp order by dbms_random.random) where rownum11;
1、需要用到兩個(gè)字符類函數(shù)instr和substr,具體用法介紹如下:
函數(shù):字符定位函數(shù)
instr
語法:instr(待處理的字符串,需要查找的字符,開始查找的起始位置,第n次出現(xiàn))
返回值:字母所在的位置,沒有返回
0;
函數(shù):字符定位函數(shù)
substr
語法:substr('要切割的值',從第幾個(gè)位置開始切割,切割幾位);
返回值:截取的字符串。
2、該題實(shí)現(xiàn)步驟,以字段a內(nèi)容為'武漢一一科技公司(2009年2月注銷)'為例:
第一步:先從字段a的字段第一個(gè)字符往前找左括號(hào)'('
第一次出現(xiàn)的位置,如下:
select
instr('武漢一一科技公司(2009年2月注銷)',
'(',
1,
1)
--
9
from
dual;
第二步:從字段第一個(gè)字符開始,一直找出左括號(hào)'('的前一位就行,如下:
select
substr('武漢一一科技公司(2009年2月注銷)',
1,
instr('武漢一一科技公司(2009年2月注銷)',
'(',
1,
1)
-
1)
from
dual;
注:如果某某公司名稱本身可能含有括號(hào)的話,建議從最后一個(gè)字符倒著往回找左括號(hào)出現(xiàn)第一次的位置,即
select
instr('武漢一一科技公司(2009年2月注銷)',
'(',
-1,
1)
--
9
from
dual;
3、最終答案
select
select
substr(a,
1,
instr(a,
'(',
-1,
1)
-
1)
from
table
;
一、txt文件的數(shù)據(jù)格式需要按照一個(gè)統(tǒng)一的格式組織好。
1、第一行可以是列名,也可以沒有列名,直接就是數(shù)據(jù)。
2、字段之間分隔符可以使用半角逗號(hào)(,)、豎線(|)、雙豎線(||)等字符。
3、行與行之間用回車分隔,當(dāng)然也可以用其它字符,不過不好維護(hù),建議用回車。
二、使用datastage的Sequential File Stage,在”File“欄里面。
1、雙擊Sequential File Stage,在 Output——Properties 里,設(shè)置以下分項(xiàng):
1)File = ? ##選擇數(shù)據(jù)文件(txt文件)
2)First Line is Column Name = ? ## 如果數(shù)據(jù)文件第一行是列名,則選True
2、在 Output——Format 里,根據(jù)數(shù)據(jù)文件的數(shù)據(jù)格式,設(shè)置分隔符,結(jié)束符。
3、在 Output——Columns 里,點(diǎn)擊”Load“,導(dǎo)入數(shù)據(jù)文件對(duì)應(yīng)的表結(jié)構(gòu)。
三、點(diǎn)擊”View Data“按鈕,看能否展示數(shù)據(jù)文件的數(shù)據(jù)。如果不行,基本都是上面的步驟沒有設(shè)置好,要仔細(xì)檢查。
VALUE 函數(shù)的第一種形式返回一個(gè)大于或等于 0 且小于 1 的隨機(jī)數(shù);第二種形式返回一個(gè)大于或等于 LOW ,小于 HIGH 的隨機(jī)數(shù)。下面是其用法的一個(gè)示例:
SQL select dbms_random.value, dbms_random.value(0,18) from dual;
VALUE DBMS_RANDOM.VALUE(0,18)
---------- -----------------------
0.05863200 12.9840987851451
真正要隨機(jī)應(yīng)該這樣寫:
select * from
(select sale_id,user_id,row_number() over (partition by sale_id order by rnv) rn
from
(select sale_id,user_id,dbms_random.value() rnv from table1
where fee=5000 and sms_fee0 and gprs_cmwap_fee0 and statis_month=201003)
)
where rn=100
order by sale_id,user_id;