2015-09-07 48 views
0

如何將char轉換爲精度爲10的小數,在sybase或sqlserver中存儲的proc的scale 5?如何將char轉換爲十進制(sybase | sql server)?

即像 EXEC測試@ Test_Decimal =轉換(十進制(10,5), '1.15')

感謝

+1

ANSI SQL的CAST(值AS DECIMAL(10,5))? – jarlh

+0

'select convert(decimal(10,5),'4343.5')' – wiretext

+0

我不能將@ Test_Decimal = select convert(decimal(10,5),'4343.5')添加到存儲的proc exec語句中。在關鍵字選擇附近產生不正確的語法。我不能執行測試@ Test_Decimal =轉換(十進制(10,5),'4343.5'),產生不正確的語法附近關鍵字轉換 – Zeus

回答

1

事情是這樣的,也許:

declare @param decimal(10,5) 
set @param = cast('1.15' as decimal(10,5)) 
exec Test @param 
+0

對不起,我應該更清楚,我不能改變存儲的過程。所以我需要使用convert函數從exec命令進行轉換。這不適用於我的用例。 – Zeus

+0

您不需要更改存儲的proc。你只需要改變你調用存儲過程的方式。您不能使用任何函數作爲存儲過程的參數。 – Harsh

+0

感謝澄清 – Zeus

相關問題