我这边有一个业务,根据某个指定日期,推算某个患者的预产日期

原理:比如孕产的预产日期的算法(预产日期 = 末次月经日期+ 10月+8天)

那么我们怎么通过存储过程来实现呢?

首先分析条件

需要一个指定日期、月数、天数,返回一个预产日期

那么参数就有这些

   @SearchDate varchar(20),
@MonthNum int,
@DayNum int,
@ProductDate varchar(20) output

实例如下:

/***********************************************
获取指定月数和天数后的预产日期
条件:末次月经日期、月数、天数
返回:预产日期
备注:根据末次月经日期推算预产日期
Date:2017-09-29
Author:xzl
***********************************************/
ALTER proc [dbo].[sp_GetPreProductDate]
@SearchDate varchar(20),
@MonthNum int,
@DayNum int,
@ProductDate varchar(20) output
as
begin
--获取当前时间的日期
--select DATEADD(MONTH,0,GETDATE())
--根据月数和天数返回一个预产日期
--1)返回一个指定月数的日期
--select DATEADD(MONTH,@MonthNum,GETDATE())
--2)将上面的日期再加上指定天数
--select DATEADD(MONTH,@MonthNum,GETDATE())+ @DayNum
--3)根据指定日期、月数、天数推算出预产日期
--select (DATEADD(MONTH,@MonthNum,@SearchDate)+ @DayNum)
--4) 进行转换预产日期(120:代表输出类型:yyyy-MM-dd HH:mm:ss)
set @ProductDate = Convert(varchar(20),(DATEADD(MONTH,@MonthNum,@SearchDate)+ @DayNum),120)
end

存储过程调用:

--声明变量--
declare @SearchDate varchar(20)
declare @MonthNum int
declare @DayNum int
declare @ProductDate varchar(20)
--参数赋值--
set @SearchDate='2017-06-12'
set @MonthNum =10
set @DayNum =8
--执行存储过程(得到预产日期)
exec sp_GetPreProductDate @SearchDate,@MonthNum,@DayNum,@ProductDate output
select @ProductDate as 预产日期

返回结果如图:

aaarticlea/png;base64,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" alt="" width="806" height="296" />

sql存储过程中,如何根据指定日期、月数、天数推算预产日期的更多相关文章

  1. 在SQL存储过程中给条件变量加上单引号

    在SQL存储过程中给条件变量加上单引号,不加语句就会出问题,以下就是在存储过程中将条件where设置成了动态变化的,给where赋完值再和前面的语句拼接,再execute(SQL) ), )), )+ ...

  2. sql存储过程中使用 output

    1.sql存储过程中使用 output CREATE PROCEDURE [dbo].[P_Max] @a int, -- 输入 @b int, -- 输入 @Returnc int output - ...

  3. sql存储过程中使用 output、nvarchar(max)

    1.sql存储过程中使用 output CREATE PROCEDURE [dbo].[P_Max] @a int, -- 输入 @b int, -- 输入 @Returnc int output - ...

  4. 计算两个日期之间相差的年数月数天数(JS实现)

    前言 如何计算年龄?我的第一直觉做法:(当前时间戳 - 出生时的时间戳)/ (365*86400)  所得结果向下取整.后来发现这种做法获得的结果不准确,不是多了一岁就是少了一岁,不能简单粗暴的这么处 ...

  5. js如何通过末次月经日期计算预产日期

    计算方式有两种 1)直接添加280天 2)添加10月8天(参数传递,可用改成9月7天等) js中引入文件 <script src="js/jquery.min.js"> ...

  6. js计算2个日期相差的天数,两个日期相差的天数,日期相隔天数

    js计算2个日期相差的天数,两个日期相差的天数,日期相隔天数 >>>>>>>>>>>>>>>>>& ...

  7. 怎样SQL存储过程中执行动态SQL语句

    MSSQL为我们提供了两种动态执行SQL语句的命令,分别是EXEC和sp_executesql;通常,sp_executesql则更具有优势,它提供了输入输出接口,而EXEC没有.还有一个最大的好处就 ...

  8. sql存储过程中循环批量插入

    前几天有一个需求很头痛,部门是有上下级关系的,在给部门的经理赋予角色和权限的时候,通常我们都会认为假如经理A的部门是1,那么我给了他部门1 的管理权限,那么1的下级部门101,102,103 &quo ...

  9. SQL 存储过程中QUOTED_IDENTIFIER on/off

    http://huihai.iteye.com/blog/1005144 在存储过程中经常会有 SET QUOTED_IDENTIFIER on SET QUOTED_IDENTIFIER off S ...

随机推荐

  1. 05:ModelForm 数据验证 & 生成html & 数据库操作

    目录:Django其他篇 01:Django基础篇 02:Django进阶篇 03:Django数据库操作--->Model 04: Form 验证用户数据 & 生成html 05:Mo ...

  2. RAM,ROM,NAND Flash,NOR Flash(A)

    他们四者相互独立 RAM掉电易失数据: RAM又分两种,一种是静态RAM,SRAM:一种是动态RAM,DRAM.前者的存储速度要比后者快得多,我们现在使用的内存一般都是动态RAM. DDR是Doubl ...

  3. fhq treap抄袭笔记

    目录 碎碎念 点一下 注意!!! 模板 fhq treap 碎碎念 我咋感觉合并这么像左偏树呢 ps:难道你们的treap都是小头堆的吗 fhq真的是神人 现在看以前学的splay是有点恶心,尤其是压 ...

  4. 论文笔记:Mastering the game of Go with deep neural networks and tree search

    Mastering the game of Go with deep neural networks and tree search Nature 2015  这是本人论文笔记系列第二篇 Nature ...

  5. java数字格式化

    [转载] Java 提供 DecimalFormat 类,帮你用最快的速度将数字格式化为你需要的样子.下面是一个例子: importjava.text.DecimalFormat; publiccla ...

  6. React Native 之 定义的组件 (跨文件使用)

    哈哈的~~~今天介绍的是自定义组件 然后去使用这个组件,让这个组件传递这各种文件之间  哈哈  下面开始吧!!!! 我们所要创建的是一个自定义的Button,先创建一个js文件起名为MyButton, ...

  7. Python matplot的使用(一)

    其实,使用它的直接原因是因为matlab太大了,不方便.另外,就是它是免费的. 在安装这个库的时候,会需要安装一些它所依赖的库,比如six等.从sourceforge上下载,只需按照提示安装完成就行了 ...

  8. 【Golang】字符串首字母大小写转化

    写在前面 在自动化过程中,我们用得最多的可能就是字符串的处理,熟悉Python的都知道在Python中要让一个字符串的首字母大写直接用capitalize就可以了,但是同样的事情在Golang中没有这 ...

  9. Oracle学习笔记(二)——临时表

    在针对大数据量的多表级联查询或复杂事务处理的时候,引入Oracle临时表是一种不错的策略.因此,在解决实际需求时经常会遇到需要使用存储过程和临时表相互配合的情况.下面就Oracle如何创建临时表以及注 ...

  10. Lua面向对象 --- 封装

    工程结构: Player.lua: Player = {} function Player:new() local self = {} setmetatable(self, {__index = Pl ...