iT邦幫忙

0

詢問 sql server 的 primitive type 與 .net 的類型比對

如標題所述,以下程式是先假設自己有一個方法,呼叫此方法時會傳入要轉型的@Type以及要轉型的值@Value,依照判斷做轉型後回傳@ReturnValue。
目前上網找了資料,統整成以下判斷,但尚有些不清楚要轉型成什麼的部份,與不知道以下資料其正確性,或是否有更好的寫法,還請給予指正,謝謝!

不清楚的部分 : sbyte、uint、long、ulong、short、ushort

if N'bool'=@Type
begin
	set @ReturnValue=convert(bit, @Value)
end
else if N'byte'=@Type
begin
	set @ReturnValue=convert(varbinary, @Value)
end
else if N'char'=@Type
begin
	set @ReturnValue=convert(char, @Value)
end
else if N'decimal'=@Type
begin
	set @ReturnValue=convert(decimal, @Value)
end
else if N'double'=@Type	
begin	
	set @ReturnValue=convert(float, @Value)
end
else if N'float'=@Type
begin
	set @ReturnValue=convert(float, @Value)
end
else if N'int'=@Type
begin
	set @ReturnValue=convert(int, @Value)
end	
else if N'DateTime'=@Type
begin
    set @ReturnValue=convert(datetime, @Value)
end
else
begin
	set @ReturnValue=convert(String, @Value)
end
木澤 iT邦新手 5 級 ‧ 2019-08-09 23:17:04 檢舉
long我記得是bigint

尚未有邦友回答

立即登入回答