首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SSRS中的数字转换

SSRS中的数字转换
EN

Stack Overflow用户
提问于 2016-06-17 18:30:54
回答 2查看 2.3K关注 0票数 1

我有一个需求,我转换一个ID (十进制例子,536879311820 ),并在转换后使用表达式构建器显示在SSRS表中,如图所示。

转换规则如下:

  • 将数字转换为十六进制并取8位数(536879311820将所取的8位数转换为十进制,并取右5位数(00802BCC至8399820)

因此,536879311820应在报告中显示为99820。我在表达式构建器中尝试了以下表达式,

代码语言:javascript
复制
=Right(HEX(Fields!PersonId.Value), 8)

因为这个表达式的结果是字符串形式的十六进制数,所以我在表达式构建器的通用函数类别中找不到任何函数。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-18 03:47:34

在获得最后8个字符后,必须将字符串格式化为十六进制:

代码语言:javascript
复制
=CDec("&H" + Right(Hex(536879311820), 8))
票数 1
EN

Stack Overflow用户

发布于 2016-06-17 19:19:18

在SQL中更容易做到这一点。下面是一些代码,可以帮你完成这项工作。我包含了两个额外的列,这样您就可以看到最后一列是如何计算的:

代码语言:javascript
复制
SELECT  CAST(123456789 AS VARBINARY(8)) HexValue, CONVERT(VARCHAR(MAX), CAST(123456789 AS VARBINARY(8)),2) AS VARCHARHEX, RIGHT(CONVERT(VARCHAR(MAX), CAST(123456789 AS VARBINARY(8)),2),5) AS Last5Chars
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37879305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档