云服务器网:购买云服务器和VPS必上的网站!

MSSQL数据库求余技能简介

MSSQL数据库求余技能简介
MSSQL是一种Microsoft公司开发的数据库,具有很多丰富的功能,这其中包括了求余技能,我们可以利用它实现程序中复杂的分支流程。
首先详细介绍下MSSQL的求余操作,通常使用的是Mod(模)语法实现求余,情势为: MOD ,

MSSQL数据库求余技能简介

MSSQL是一种Microsoft公司开发的数据库,具有很多丰富的功能,这其中包括了求余技能,我们可以利用它实现程序中复杂的分支流程。

首先详细介绍下MSSQL的求余操作,通常使用的是Mod(模)语法实现求余,情势为: MOD ,其中和可以是任何有效的MSSQL表达式,返回值为表达式1除以表达式2的余数,或可以理解为从表达式1中去掉表达式2的整数倍,剩下的就是余数。例如:

SELECT 11 MOD 3,

返回结果为2。

针对求余操作,MSSQL提供了专门的函数,函数名为REMAINDER,函数定义为:

REMAINDER (Float_Real_1, Float_Real_2),

Float_Real_1表示除数,Float_Real_2表示被除数,返回结果与MOD语法类似都是余数,但有些区别的是是地方,REMAINDER函数会根据被除数的符号而改变返回结果;也就是说如果被除数为负,结果为负,否则结果为正。例如:

SELECT REMAINDER(9, ⑵),

返回结果为1。

求余操作不但针对两个表达式有效,也对一个表达式对求余有效,例如:

SELECT 11 MOD 5,

返回结果为1,

SELECT 11 MOD 3 * 5,

返回结果也是1。

以上就是MSSQL数据库求余技能的简介,其一般的利用是做用于循环,根据循环次数的余数判断每次循环后应当产生的任务,例如:

— 例1:根据变量interval的余数肯定每次循环产生的任务

DECLARE @CurrentIndex INT, @interval INT

SET @CurrentIndex = 1

SET @interval = 10

WHILE @CurrentIndex

BEGIN

IF (@CurrentIndex % @intervalMOD 0) = 0

BEGIN

— 每隔10次循环做打印任务

PRINT ‘第’ + CAST(@CurrentIndex AS VARCHAR(30)) + ‘次循环做打印任务’

END

ELSE

BEGIN

PRINT ‘第’ + CAST(@CurrentIndex AS VARCHAR(30)) + ‘次循环做其他任务’

END

SET @CurrentIndex = @CurrentIndex + 1

END

另外,MSSQL还提供了专门的T-SQL求余函数,比如数学上的”绝对值计算”。对绝对值计算,T-SQL提供了一个函数ABS,它将不正值变成正值,用法是:

ABS(‘表达式’),

如:

SELECT ABS(⑴),

返回结果为1。

总之,MSSQL求余技术可以很好地实现复杂的循环逻辑,节省很多编码本钱,有侧重要的利用价值。

本文来源:https://www.yuntue.com/post/98664.html | 云服务器网,转载请注明出处!

关于作者: yuntue

云服务器(www.yuntue.com)是一家专门做阿里云服务器代金券、腾讯云服务器优惠券的网站,这里你可以找到阿里云服务器腾讯云服务器等国内主流云服务器优惠价格,以及海外云服务器、vps主机等优惠信息,我们会为你提供性价比最高的云服务器和域名、数据库、CDN、免费邮箱等企业常用互联网资源。

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注