簡體   English   中英

將 nvarchar 值轉換為 Decimal 或 Numeric 數據類型?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM