Major Member
加入日期: Feb 2006
文章: 207
|
來猜測一下,樓主問題是
有"一個欄位",其中資料被填入字串,這資料欄位的字串類似這樣 "進貨數量:11568,銷售數量:1000 進貨數量:1568,銷售數量:900" 現今想抓出某欄位來做計算,該怎麼做 以上是我的理解。 解決方式,是寫段程式來做處理, 專門拆解這欄位資料,然後轉存到新的欄位,如"進貨數量"、"銷售數量" 由於看起來像是複數筆數值,建議是另開新資料表來存,計算時候會比較方便。 最後再抓新欄位值來做計算。 問怎麼拆資料?參考一下 #9 chk 的範例,如果資料像範例中那樣不複雜,也能用SQL語法直接處理。 此文章於 2018-11-01 10:20 AM 被 pcwheat 編輯. |
||
2018-11-01, 10:18 AM
#12
|
Amateur Member
加入日期: Oct 2017
文章: 38
|
引用:
原來是這樣,當初資料庫為什麼要這樣設計呢? |
|
2018-11-01, 10:55 AM
#13
|
Junior Member
加入日期: Apr 2003
文章: 730
|
1.先用SUBSTRING跟 CHARINDEX分割字串(你的例子:引數使用","逗號)
https://social.msdn.microsoft.com/F...38988?forum=240 2. 再搭配前面chk網友教的使用REPLACE 空白替換掉"進貨數量:"、"銷售數量:" 假設你要取的資料 資料庫為test 資料表為test1 欄位為total SELECT [total] ,REPLACE(SUBSTRING([total], 1, CHARINDEX(',', [total]) - 1),'進貨數量:','') ,REPLACE(SUBSTRING([total], CHARINDEX(',', [total]) + 1, LEN([total]) - CHARINDEX(',', [total]),'銷貨數量:','') FROM test.dbo.test1 where XXX=XXX --------------------------------------------------- 兩邊隨便鬥起來的,不知道能不能跑 |
2018-11-01, 11:04 AM
#14
|
Golden Member
加入日期: Apr 2001 您的住址: 雞窩
文章: 2,820
|
引用:
應該可以 我早上以為欄位只有 進貨數量:XXXXX 原來後面還有 銷售數量 反正如果 "銷售數量:" "進貨數量:" 這幾個字不會變的話 其實都好處理 如果是我..(MSSQL) 建議在table 中加二個"計算資料行"欄位 把上述結果算到這二個欄位去 不過最好還是從原頭改啦 如果真的不會寫... 丟幾筆不重要的資料上來 大家幫你改
__________________
燦坤卡號 36680441 歡迎取用 順發卡號 00149760 歡迎取用 2015日本滋賀縣 琵琶湖 機車環湖之旅 2016東京競馬初體驗 2017四國機車行 2018紀伊半島機車行 2019 HONDA CROSS CUB山陰閒晃 2021 久違的重機開箱文-Z900RS 景點分享-台南東山咖啡-竹栱仔厝 2022 重機小跑-環半島之旅 2023-名古屋-富士山之旅 |
|
2018-11-01, 02:13 PM
#15
|
Basic Member
加入日期: Dec 2006
文章: 26
|
感謝各位的熱心回覆,終於解決了
用空白replace掉中文字之後TRIM掉空白,再用就可以抓到我要的字串了,真是大大感謝!!! 是這樣的,不知道為什麼原有的系統就是這樣把這2個資料寫在同個欄位,然後因為明年要換新系統了,暫時就先另寫個程式把需要的資料抓到別地方去用。 寫程式我真的是菜鳥,感謝大家的幫忙。 |
2018-11-01, 09:55 PM
#16
|