【问题标题】:How to convert varchar to decimal format? SQL Server [closed]如何将varchar转换为十进制格式? SQL Server [关闭]
【发布时间】:2016-06-16 14:01:55
【问题描述】:

我正在处理 Pharmacy 药品定价数据。我使用的数据资源引用了以下格式的药物:

  • 国家药品监督管理局:0002831517
  • AWP: 001539667

AWP 值的格式如下:

  • 十进制,前4位,后5位

所以我想看看:

  • AWP: 0015.39667

每当我使用CONVERT 时,都会收到以下错误:

将 nvarchar 转换为数字数据类型时出现算术溢出错误。

任何帮助将不胜感激。谢谢!

编辑:我的 SQL 逻辑:

SELECT TOP 1000 NDC10,
                CONVERT(DECIMAL (9, 5), AWPUPRICE)
FROM   [TEST].[dbo].[NDC_CODES] 

【问题讨论】:

  • SELECT CAST(LEFT(@value,4) + '.' + RIGHT(@value, 5) AS DECIMAL(9,5))
  • "每当我使用 CONVERT..." - 我们需要一个 bit 比这更多的上下文。也许是一个完整的代码示例来演示您正在尝试做的事情。
  • 转换(bigint, AWP) * 0.00001?
  • 这是我当前的 sql:SELECT TOP 1000 NDC10, CONVERT(DECIMAL (9, 5), AWPUPRICE) FROM [TEST].[dbo].[NDC_CODES]
  • 看第一条评论...

标签: sql-server decimal varchar


【解决方案1】:

你可以试试这个:

 SELECT TOP 1000 NDC10, CAST(LEFT(AWPUPRICE,4) + '.' + RIGHT(, 5) AS DECIMAL(9,5))
 FROM [TEST].[dbo].[NDC_CODES]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-28
    • 2013-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多