[英]Convert nvarchar value to Decimal or Numeric datatype?
我的 SQL 表中有一個名為 'Market value' 的列,其中該列的值類似於 '+000000034567.4563'(18 個字符長度,包括 + 符號),數據類型為NVARCHAR
。
我需要應用 group by 並計算“市場價值”的總和,但 group by 不適用於NVARCHAR
數據類型。 所以我正在使用CONVERT
進行CONVERT
。
SELECT CONVERT(Numeric(18,4), '+000000034567.4563')
但我得到的輸出是“34567.4563”但我的期望是“+000000034567.4563”。
如何使用 SQL 實現這一點?
您可以使用 Format 再次將其轉換為您想要的字符串表示形式
SELECT format(CONVERT(numeric(18,4), '+000000034567.4563'), '+000000000000.0000')
並用它來計算然后格式化
SELECT format(sum(CONVERT(numeric(18,4), yt.[Market Value])), '+000000000000.0000')
from yourtable yt
group by yt.whatever
檢查此代碼是否會以任何方式幫助您。 它是用 MySQL 語言編寫的。
Select Concat(Left(Market_Value,1),
Repeat('0',(Length(Market_value)-Length(concat(left(Market_Value,1),
sum(substring(Market_value,2,Length(Market_Value))))))),
sum(substring(Market_value,2,Length(Market_Value)))) as Market_Value
from Test57 group by Market_value;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.