【发布时间】:2017-01-21 20:24:49
【问题描述】:
我有一个Select 查询来获取格式为 (ddmmyy) 的日期,并且我正在尝试在 'yy' 之后连接(假设是增量的)整数/数字。
例如我想得到这个:
"21011701"
其中 dd=21;mm=01;yy=17;integer=01。
我将在 Crystal Report 中使用此查询,并且每次生成 Crystal Report 时,该整数都必须像 批号一样递增。
提前感谢您的帮助。
Declare @bn nvarchar(max)
SET @bn = '01'
SELECT REPLACE(CONVERT(CHAR(10), GETDATE(), 3), '/', '') + @bn BatchDate FROM TABLE
【问题讨论】:
-
这个incemental integer number是否以
01开头的每个日期?每个报告都有自己的增量集吗?您何时需要它(立即或稍后)?你在哪里需要它(打印在报告上)?是否有并行操作(多用户调用同一报告)?我认为最简单的方法是在表格中为每个批次插入一个新行,然后使用ROW_NUMBER() OVER(PARTION BY ReportID,Date ORDER BY RowID)之类的东西来获取运行编号... -
我在这份报告中看到的棘手部分是,一旦我们的两个 SAP 用户生成了报告,就增加 01(是的,它必须从 01 开始)。因此,如果用户 1 现在生成此报告,则必须为 01。如果用户 2 生成另一个报告,则为 02,依此类推。生成此报告的时间间隔为每月两次。如果有任何编程技巧来增加这个整数而不将值插入数据库,我正在寻找什么。我的想法是将当前整数值存储在某处。
标签: sql sql-server-2008 crystal-reports-2008