sql - SSRS 报告生成器 LENGTH 表达式和尺寸特定字段

标签 sql reporting-services reportbuilder3.0

我正在尝试使用 SSRS 报告生成器 (3.0) 构建银行文件。我遇到两个问题:

  1. 我正在尝试获取适用于支票号码字段的长度表达式,但 LEN(Field) 不起作用(无论字段的实际长度如何,都会返回 4 作为值) 。

并且LENGTH(Field)给我一个错误:

The Value expression for the textrun 'Textbox15.Paragraphs[0]. TextRuns[0\' contains an error: [BC30451] Name 'LENGTH' is not declared*

  • 我什至尝试让#1 工作的唯一原因是因为我需要让银行文件上的字段之一具有恒定的长度。无论支票号码如何,我都需要确保该字段始终为 14 个字符且带有前导零。我认为最好的方法是执行 switch 语句并根据校验号字段的大小添加适当的零的数量。
  • 感谢您的帮助。

    编辑:使用 SQL 服务器数据库

    最佳答案

    对于长度问题:

    获取字符串长度有两种方法

    使用 LEN 函数

    = LEN(Fields!myfield.Value)
    

    使用长度属性

    = Fields!myfield.Value.Length
    

    如果您的字段不是字符串,请先尝试使用 Cstr 函数进行转换

    = LEN( Cstr(Fields!myfield.Value) )
    = Cstr(Fields!myfield.Value).Length
    

    对于格式问题:

    对于数字字段,将单元格格式表达式设置为具有所需数量的零,例如。对于 14 位数字

    = "00000000000000"
    

    关于sql - SSRS 报告生成器 LENGTH 表达式和尺寸特定字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51360899/

    相关文章:

    sql - 通配符作为存储过程的参数

    SQL Select - 合并两个表(同时转换列中的行)

    sql-server - 如何查询 T-SQL 以获得每个 "Top 10 ' 的 'y' x'

    sql - 不能排除以前的非重复行

    sql - 从子查询中删除 'not in' 子句

    sql - 如何从 SQL Server 2008 中的 XML 文档中选择每个标签?

    sql-server - 每行都有不同的钻取

    sql-server - 如何在 SSRS 中的表格中正确获取表格?

    Sql PIVOT 和字符串连接聚合

    reporting-services - 改变指标背景