convert(decimal(a,b)) 第二個引數必須是固定值嗎?
需求 : a表欄位的小數位長度,根據b表設定的值來確定

提示 'b' 附近有語法錯誤。
如果decimal第二個值必須固定的值,需求該怎么實作?
CREATE TABLE [dbo].[convert1](
[id] [int] NULL,
[val] [float] NULL,
[cl] [int] NULL
) ON [PRIMARY]
INSERT INTO convert1
SELECT 1,12.34,2 UNION ALL
SELECT 2,0.35,3 UNION ALL
SELECT 3,1.983,3 UNION ALL
SELECT 4,0.123,3
CREATE TABLE [dbo].[convet2](
[id] [int] NULL,
[ct] [int] NULL
) ON [PRIMARY]
INSERT INTO convet2
SELECT 1,2 UNION ALL
SELECT 2,5 UNION ALL
SELECT 3,6 UNION ALL
SELECT 4,4
uj5u.com熱心網友回復:
對于關系型資料庫來說,列的型別是固定的,也就是說,你的這個回傳的 convert 的結果,是一個固定型別,所以不可能是多種不同的小數位(那是多種型別定義了)uj5u.com熱心網友回復:
動態拼接字串呢?uj5u.com熱心網友回復:
ROUND(a.val,b.ct)
回傳一個數值,舍入到指定的長度或精度。
uj5u.com熱心網友回復:
做不到的事情,不要強求了。按最大的小數位數來吧。
uj5u.com熱心網友回復:
我覺得使用列舉化變相實作此需求,你可以試一下按表中的位數對小數位進行轉換的示例
uj5u.com熱心網友回復:
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/12921.html
標籤:基礎類
上一篇:U盤病毒
下一篇:sql陳述句求助
