sql中,如何获取一个数的整数部分和余数部分

我们测试一下,我要得到的结果是多少周(整数),多少天(余数)

1、获取指定日期到当前日期之间的天数

首先用DATEDIFF() 函数获取指定日期到当前日期的天数

--获取指定日期到当前日期的天数
select DATEDIFF(DD,‘2017-08-15‘,GETDATE())

2、得到返回的结果(当前是45天)

3、计算多少周多少天

--获取周数
select 45/7
--获取剩下的天数
select 45%7
--组合成多少周多少天
select CAST( (CAST((45/7) as varchar(4)) +‘周‘+ CAST((45%7) as varchar(4))+‘天‘) as varchar(10))

结果

4、参数化后例子

--如何获取孕周数
declare @DayNum int
declare @FirstNum int
declare @SecondNum int
--获取指定日期到当前日期的天数
set @DayNum = DATEDIFF(DD,‘2017-08-15‘,GETDATE())
--获取天数的周数(整数部分)
set @FirstNum = @DayNum/7
--获取剩下的天数 (余数部分)
set @SecondNum = @DayNum%7
--组合成多少周多少天
select CAST(( CAST(@FirstNum as varchar(5)) +‘周‘ + CAST(@SecondNum as varchar(5))+‘天‘) as varchar(12)) as 孕周数
时间: 2024-10-08 01:53:40

sql中,如何获取一个数的整数部分和余数部分的相关文章

Mybatis中Mapper.xml文件sql中动态获取---->#{}和${}区别

1. #{} 获取参数的内容,支持索引获取,param1获取指定位置参数,并且sql使用?占位符 2. ${} 纯字符串拼接,不使用?,默认找${内容}内容的get/set方法,如果写数字,就是一个数字 原文地址:https://www.cnblogs.com/yikuan-919/p/9691702.html

统计二进制数中的1的个数(0277)

程序设计C 实验二 题目五 统计二进制数中的1的个数(0277) 整数在计算机中使用二进制的形式表示,如整数7用二进制表示为:111,其中1的个数为3. 输入一个整数:7 输出该整数用二进制表示时,其中1的个数:3 代码: #include<iostream> #include<math.h> using namespace std; int max(int a, int b) { return a > b ? a : b; } int min(int a, int b) {

c语言:获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。

获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列. 程序: #include<stdio.h> int main() { int i, j, num; char arr1[16]; char arr2[16]; printf("输入一个整数:"); scanf("%d", &num); for (i = 0, j = 0; i < 32; i += 2, j++) { arr1[15 - j] = (num >> 

sql中取小数的整数部分和小数部分

1.floor()函数. select floor(3.44), 3.44-floor(3.44) 显示: 3     0.44 对于负数和正数这个函数处理的不一样. 对于正数不进行四舍五入.对于负数进行四舍五入. 2. select cast(12.3 as int), 12.3-cast(12.3  as int) select cast(-12.3 as int), -12.3+cast(-12.3  as int) 显示: 12     0.3 -12 -0.3 3. select le

输入两个整数n和m,从数列1,2,3,……n中随意取几个数,使其和等于m 转载

题目:编程求解,输入两个整数n和m,从数列1,2,3,--n中随意取几个数,使其和等于m.要求将所有的可能组合列出来. 分析:分治的思想.可以把问题(m,n)拆分(m - n, n -1)和(m, n - 1). 注意点:1.n大于m时,可直接从n = m出开始搜索 2.结束条件:n < 1 || m < 1 3.打印输出结果.注意打印输出结果并不代表函数调用结束,以n = 7 和 m = 10为例,7.3和7.2.1都是一种结果,不能得到7.3的时候终止.打印输出的条件是n = m 程序代码

sql 中获取最后生成的标识值 IDENT_CURRENT ,@@IDENTITY ,SCOPE_IDENTITY 的用法和区别

原文:sql 中获取最后生成的标识值 IDENT_CURRENT ,@@IDENTITY ,SCOPE_IDENTITY 的用法和区别 IDENT_CURRENT 返回为任何会话和任何作用域中的指定表最后生成的标识值. 语法 IDENT_CURRENT('table_name') 参数 table_name 是将要返回其标识值的表的名称.table_name 的数据类型为 varchar,没有默认值. 返回类型 sql_variant 注释 IDENT_CURRENT 类似于 Microsoft

SQL判断一个数是整数还是小数

DECLARE @number1 AS numeric(10,2),@number2 AS numeric(10,2) SELECT @number1=10.00,@number2=10.2 SELECT CASE WHEN CAST(@number1 AS INT)[email protected] THEN '整数' ELSE '小数' END, CASE WHEN CAST(@number2 AS INT)[email protected] THEN '整数' ELSE '小数' END 

(转)SQL SERVER 2005中如何获取日期(一个月的最后一日、一年的第一日等等)

这是计算一个月第一天的SQL 脚本:   SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) --当月的第一天 SELECT DATEADD(mm, DATEDIFF(mm,0,getdate())-1, 0) --上个月的第一天 SELECT DATEADD(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))  --当月的最后一天 SELECT DATEADD(ms,-3,DATEADD(mm, DATE

获取sqlserver安装路径 得到SQL中的各种目录

1.select filename from master..sysfiles 2.master..xp_instance_regread N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\MSSQLServer\Setup', N'SQLPath' --得到SQL中的各种目录declare @path varchar(8000) --得到当前数据库的数据文件路径select @path=rtrim(reverse(filename)) from sysfi