線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1475
推到 Plurk!
推到 Facebook!

Sum 語法可有解

 
css
一般會員


發表:24
回覆:17
積分:8
註冊:2006-08-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-01-03 23:13:15 IP:220.132.xxx.xxx 訂閱
使用SQL2000 資料庫 
WA5是VARCHAR
Select Sum(wa5) as txta from dbfile 會出現 錯誤訊息 the sum or aver aggregate operation cannot take a varchar data type as an argument
請問一定要將wa5改為 numeric 才可嗎?或有其他解決方法
可是在asses 資料庫Select Sum(wa5) as txta from dbfile 就可以真奇怪

g9221712
高階會員


發表:145
回覆:344
積分:162
註冊:2006-07-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-01-03 23:28:14 IP:220.134.xxx.xxx 訂閱
asses 資料庫走的sql規格是比較特殊的並非sql-92規範,就如MS-SQL 跟ORACLE也會有支援函數的差異,
你用在Access上的語法轉到其他平台,一定有失敗的可能,我自己也是寫Access很久,轉到Delphi 一樣要重來啊!
而且你講的牽涉到型別轉換的問題,若是太自動化對你也不見得是好事情!日後程式怎麼掛的,可能很難找一點原因!
後來發現機車一點的工具,對我們寫程式是較好的!
就一句話你要現在累!還是日後改程式累!
------
「人們所以覺得寂寞,是因為他們會築牆,卻不會搭橋。」
程式寫的越久,卻發現自己越來越不會寫程式!
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-01-04 08:04:40 IP:61.219.xxx.xxx 未訂閱
各種資料庫函數本來就沒有完全相同, 沒什麼好奇怪
幾種考慮方法
1. 欄位改成數值, 而非 varchar (為了可以不填寫數字 ? )
2. 增加一欄位存放數值, 內容和 wa5 相同
3. 不要用 SQL 的 sum 作加總, 在程式 (delphi, asp, php, ...) 中自己加總

------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-01-04 09:03:14 IP:60.248.xxx.xxx 未訂閱
補充一下還有Convert及Cast可把VarChar轉成Integer
不過就如前面大大所講的,欄位型態看是否需更改?
mflyy
初階會員


發表:3
回覆:44
積分:44
註冊:2002-08-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-01-05 00:21:50 IP:59.104.xxx.xxx 訂閱

===================引 用 文 章===================
使用SQL2000 資料庫
WA5是VARCHAR
Select Sum(wa5) as txta from dbfile 會出現 錯誤訊息 the sum or aver aggregate operation cannot take a varchar data type as an argument
請問一定要將wa5改為 numeric 才可嗎?或有其他解決方法
可是在asses 資料庫Select Sum(wa5) as txta from dbfile 就可以真奇怪


先將型態轉正確再來處理即可
Select Sum(convert(int,wa5)) as txta from dbfile


系統時間:2024-04-26 19:42:58
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!