請教如何在加入的欄位中判斷有多少char或int位數後補空白加入? |
尚未結案
|
huangeider
高階會員 發表:288 回覆:492 積分:231 註冊:2003-02-26 發送簡訊給我 |
資料庫sql 2000
create table tran
(
data varchar(100)
); create table test
(
aaa varchar(20),--用20-欄位字串
bbb int,--用4-位數
ccc varchar(20)--用20-欄位字串
); insert into test(aaa,bbb,ccc) values ('01234',22,'56789') insert into test(aaa,bbb,ccc) values ('666',234,'999') 請教在insert into 時能先否判定test中各欄位有多少字串或幾位數
如aaa 01234是5位其餘用20-5=15(則後方補15位的空白),bbb 是22的話為2位數
4-2=2(則後方補2位空白),ccc 為56789用20-5為5位,
使data值是如下的結果,#表示空白
01234###############22##56789 就像下面下的語法(下面這個語法還少條件判定式如aaa 01234是5位其餘用20-5=15(則後方補15位的空白),bbb 是22的話為2位數
4-2=2(則後方補2位空白),ccc 為56789用20-5為5位)
insert into tran(data) select aaa,bbb,ccc from test where aaa='012345' 堅持從洗馬桶做起
Eric
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: 資料庫sql 2000 create table tran ( data varchar(100) ); create table test ( aaa varchar(20),--用20-欄位字串 bbb int,--用4-位數 ccc varchar(20)--用20-欄位字串 ); insert into test(aaa,bbb,ccc) values ('01234',22,'56789') insert into test(aaa,bbb,ccc) values ('666',234,'999') 請教在insert into 時能先否判定test中各欄位有多少字串或幾位數 如aaa 01234是5位其餘用20-5=15(則後方補15位的空白),bbb 是22的話為2位數 4-2=2(則後方補2位空白),ccc 為56789用20-5為5位, 使data值是如下的結果,#表示空白 01234###############22##56789 就像下面下的語法(下面這個語法還少條件判定式如aaa 01234是5位其餘用20-5=15(則後方補15位的空白),bbb 是22的話為2位數 4-2=2(則後方補2位空白),ccc 為56789用20-5為5位) insert into tran(data) select aaa,bbb,ccc from test where aaa='012345' 堅持從洗馬桶做起 Eric你這個想法我看不懂唉! 如果你想要欄位後面直接填入空白, 定義char(20)就可以了, 使用varchar()是不定長度的儲存 至於 int是數值型態, 我想不通如何可以像string一樣另其儲存可以有空白? 不如也改用 char(), 將數值資料轉存成 string 就可以了! 如果你是要輸出成特定格式那可以用 format(' s',[aaa]) 或 format('%4s',[inttostr(bbb)]) 以上提供參考~~~ |
Miles
尊榮會員 發表:27 回覆:662 積分:622 註冊:2002-07-12 發送簡訊給我 |
Hi huangeider 您好:
參考一下這個
select SubString(aaa REPLICATE('0', COL_LENGTH ('test', 'aaa')), 1, COL_LENGTH ('test', aaa')), from test where aaa='012345'這一段會選出aaa欄位並將'0'填滿在右邊, 但若資料裡有中文會有誤差, 另外你的欄位bbb是數字, 他雖然表示長度是4但並不是顯示出來只要四位數, 所以這方面我不曉得你的需求是什麼 我不是高手, 高手是正在銀幕前微笑的人.
------
我不是高手, 高手是正在銀幕前微笑的人. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |