如何在sql中的数字字符串中添加所有数字

编程入门 行业动态 更新时间:2024-10-23 07:28:08
本文介绍了如何在sql中的数字字符串中添加所有数字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

亲爱的所有 在我的表MyTable中,我有一个名为MyColumn的列,其中包含8位数字值。 (即) MyColumn 20151201 20151204 20181208 20181219 我的要求是我需要一个名为SumColumn的新列,数据应该是使用此公式的MyColumn值的总和。 br $> (即) MyColumn SumColumn 20151201 3 20151204 6 20181208 4 20181219 6 公式为 例如 20181219 (2 + 0 + 1 + 8)+(1+ 2)+(1 + 9) (11)+(3)+(10) (1 + 1)+(3)+(1 + 0) (2)+(3)+(1) (6) 帮助到达这个。

解决方案

您可以创建一个将返回的函数添加数字。这是我创建的函数:

创建 FUNCTION fn_AddNumbers( @ inputStr VARCHAR ( 50 )) RETURNS INT AS BEGIN DECLARE @ finalVal INT SET @ finalVal = 0 DECLARE @ j TINYINT DECLARE @ i TINYINT SET @ j = 1 SET @ i = 1 WHILE ( @ i < = LEN( @ finalVal )) BEGIN SET @ j = 1 SET @ finalVal = 0 WHILE ( @ j < = LEN( @ inputStr )) BEGIN SET @ finalVal = @ finalVal + CAST(SUBSTRING( @ inputStr , @ j , 1 ) AS TINYINT ) SET @ j = @ j + 1 END SET @ inputStr = @ finalVal SET @ i = @ i + 1 END RETURN @ finalVal END

然后调用它select语句中的函数。

SELECT dbo.fn_AddNumbers(' 12345') AS ' 数字总和'

祝你好运。

Dear all In my table MyTable I have a column named MyColumn which contains 8 digit numeric value. (ie) MyColumn 20151201 20151204 20181208 20181219 My requirement is I need a new column named SumColumn and the data should be sum of MyColumn values with this formula. (ie) MyColumn SumColumn 20151201 3 20151204 6 20181208 4 20181219 6 Formula is For Example 20181219 (2+0+1+8) + (1+2) + (1+9) (11) + (3) + (10) (1+1) + (3) + (1+0) (2) + (3) +(1) (6) Help to arrive this one.

解决方案

You can create a function which will return the addition of numbers. Here is the function i have created :

CREATE FUNCTION fn_AddNumbers (@inputStr VARCHAR(50)) RETURNS INT AS BEGIN DECLARE @finalVal INT SET @finalVal = 0 DECLARE @j TINYINT DECLARE @i TINYINT SET @j = 1 SET @i = 1 WHILE (@i <= LEN(@finalVal)) BEGIN SET @j = 1 SET @finalVal = 0 WHILE (@j <= LEN(@inputStr)) BEGIN SET @finalVal = @finalVal + CAST(SUBSTRING(@inputStr, @j, 1) AS TINYINT) SET @j = @j + 1 END SET @inputStr = @finalVal SET @i = @i + 1 END RETURN @finalVal END

Then call this function in your select statement.

SELECT dbo.fn_AddNumbers('12345') AS 'Sum Of Numbers'

Good luck.

更多推荐

如何在sql中的数字字符串中添加所有数字

本文发布于:2023-06-13 17:42:40,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/686706.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数字   字符串   如何在   sql

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!