[C#] Convert 取整數問題

2010年10月18日 星期一

今天在統計圖表時,發現了小數進位問題

原來用 Convert 取整數時小數會進位,之後使用(int)結果便是正確,所以Convert 跟 (int)的轉型機制不同,使用在浮點運算要小心。

double d = 108.555;
int i1 = Convert.ToInt32(d); // = 109
int i2 = (int)(d); // = 108

Read more...

定序問題

2010年10月8日 星期五

今天在新增table後在去查詢時發現錯誤,訊息為:
「無法解析 equal to 作業中 "Chinese_Taiwan_Stroke_CI_AS" 與"Chinese_Taiwan_Stroke_CI_AS_WS" 之間的定序衝突。」
語法為:
select * from a inner join b on a.pk=b.rpk


因為是剛新增的table裡面都還沒有資料,所以就把table drop 掉,在新建
這時候就加入指定定序的語法

CREATE TABLE [dbo].[WINDOW_DEP](
[UserID] [nvarchar](255) collate Chinese_Taiwan_Stroke_CI_AS NULL ,
[DepID] [nvarchar](255) collate Chinese_Taiwan_Stroke_CI_AS NULL
) ON [PRIMARY]



若此Table已有資料的話,那就只能從query去下手了
例:
SELECT WINDOW_DEP.DEPID
FROM WINDOW_DEP
INNER JOIN AT_ORG_ORGUNIT ON AT_ORG_ORGUNIT.nodeID collate Chinese_PRC_Stroke_CI_AS = WINDOW_DEP.DepID
WHERE WINDOW_DEP.UserID = 'Admin'



可參考
http://renjin.blogspot.com/2008/02/collation-conflict.html

Read more...