如何在 Transact SQL 中添加数字?

Posted

技术标签:

【中文标题】如何在 Transact SQL 中添加数字?【英文标题】:How can I add numbers in Transact SQL? 【发布时间】:2016-03-01 08:56:03 【问题描述】:

我一直在 javascript 中使用此代码,但现在想将其合并到存储过程中:

   self.test.testId =
      ('00000' + self.test.adminTestId).slice(-5) + "-" +
      ('00000' + self.test.userTestId).slice(-5) + "-" +
      ('00' + self.test.sequence).slice(-2);

我想做的就是完成同样的事情:

DECLARE @TestId VARCHAR(50)
DECLARE @AdminTestId INT
DECLARE @UserTestId  INT
DECLARE @Seq INT

谁能给我建议,告诉我如何进行填充并用“-”加入这些以进入@TestId

【问题讨论】:

能否提供您需要的输出结果?这会有所帮助。 您要连接或添加?如果连接可能重复的***.com/questions/951320/… 查看 Javascrit 我认为 OP 想要连接 零填充 数字以获得特殊数字的格式。顺便说一句:我认为“哦,这是重复的”反射应该 - 至少在大多数情况下 - 不要看答案,这些答案是 前的...... 【参考方案1】:

这是你要找的吗?

DECLARE @AdminTestId INT=3
DECLARE @UserTestId  INT=4
DECLARE @Seq INT=5

DECLARE @TestId VARCHAR(50)=REPLACE(STR(@AdminTestId,5),' ','0') + '-' + REPLACE(STR(@UserTestId,5),' ','0') + '-' + REPLACE(STR(@Seq,2),' ','0');

SELECT @TestId;

结果

00003-00004-05

【讨论】:

以上是关于如何在 Transact SQL 中添加数字?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Transact-SQL 的一个脚本中在 CREATE DATABASE DBName 之后使用 USE DBName?

如何在 Transact/SQL 中创建数据透视表?

如何根据 Transact-sql 中的 group-by 子句中的项目设置类别?

如果已附加数据库,如何使用 Transact-SQL 和 SQL Server 2008 R2 进行测试? [复制]

sqlgo是啥意思,如何使用?

Transact-SQL编程基础?