IF v_docType = 3 THEN
update T_PATIENT_INFO set USER_NAME =userName ,SEX = v_sex,BIRTHDAY = to_date(brithday,'YYYYMMDD'), ID_NUMBER = idNumber,PROVINCE_NO = provinceId,CITY_NO = cityId,COUNTRY_NO = countryId,
ADDRESS = address,CREATE_USER_ID = addUserId,DOCTOR_ID = addUserId
where MOBILE = phone;

ELSE if v_docType=2 then
update T_PATIENT_INFO set USER_NAME =userName ,SEX = v_sex,BIRTHDAY = to_date(brithday,'YYYYMMDD'), ID_NUMBER = idNumber,PROVINCE_NO = provinceId,CITY_NO = cityId,COUNTRY_NO = countryId,
ADDRESS = address,CREATE_USER_ID = addUserId,DOCTOR_ID = addUserId,COMMUNITY_ID = addUserId
where MOBILE = phone;

else
update T_PATIENT_INFO set USER_NAME =userName ,SEX = v_sex,BIRTHDAY = to_date(brithday,'YYYYMMDD'), ID_NUMBER = idNumber,PROVINCE_NO = provinceId,CITY_NO = cityId,COUNTRY_NO = countryId,
ADDRESS = address,CREATE_USER_ID = addUserId,COMMUNITY_ID = addUserId
where MOBILE = phone;
end if;
END IF;

这里BIRTHDAY 传过来的是'YYYYMMDD'类型的字符串,贰表里面该字段的存储类型是Date,就需要在sql里面进行类型转换,这就是一个转换的语句,可以供其他地方参考!

下面这种情况是取得时候直接在sql里面把date转为vcharge

SELECT A.RECORD_ID,A.PAPER_ID,TO_CHAR(A.CREATE_TIME,'yyyy-mm-dd hh24:mi') CREATE_TIME,B.PAPER_TITLE,v_advice_txt ADVICE_CONTENT,v_wj_score SCORE,v_score_desc SCOREDESC
FROM T_RECORD_PAPER A INNER JOIN T_PAPER B
ON A.PAPER_ID=B.PAPER_ID WHERE A.Record_Id=v_recordId;

这里的TO_CHAR  to_date 都是oracle的内置函数,没试过在mysql中能不能适用,应该是不区分大小写的

再来一点

v_start IN NUMERIC,
v_end IN NUMERIC,

and to_char(a.create_time, 'YYYYMMDD') >= v_start
and to_char(a.create_time, 'YYYYMMDD') <= v_end

这里也是可以的,字符与数值进行运算,v_start的格式是160809,oracle的强大灵活,服了吧!

再来一点

--插入医生用户信息表
insert into T_DOCTOR_INFO(DOCTOR_ID,USER_NAME,MOBILE,EMAIL,SEX,BIRTHDAY,HOSPITAL_ID,DEPT_ID,JOBTITLE_ID,INTRODUCE,SOURCE,DOCTOR_TYPE)
values(v_userId,USER_NAME,MOBILE,EMAIL,SEX,to_date(BIRTHDAY,'yyyy/mm/dd'),HOSPITAL_ID,DEPT_ID,JOBTITLE_ID,INTRODUCE,SOURCE,DOCTOR_TYPE);

这里表中的BIRTHDAY是 date ,贰传过来的参数是yyyy/mm/dd的字符串

还有这个:

INSERT INTO T_FRIEND_GROUP_INFO
(GROUP_ID,GROUP_NAME,GROUP_TYPE,USER_ID,CREATE_TIME)
VALUES
(1,'我的病人',1,v_userId,SYSDATE);

自动获取当前时间SYSDATE

又一个转换: vWTTime:=TO_DATE(v_Time,'yyyy-mm-dd,hh24:mi:ss');

sql对日期的处理,一个存储过程示例的更多相关文章

  1. SQL Server日期函数之获得一个月中的天数

    SQL Server日期函数之获得一个月中的天数在实际中的应用比例还是占为多数的,如果你对这一技术,心存好奇的话,以下的文章将会揭开它的神秘面纱,望会在以后的学习或是工作中带来很大的帮助. 获得一个月 ...

  2. SQL得到任意一个存储过程的参数列表sp_procedure_params_rowset

    SQL得到任意一个存储过程的参数列表sp_procedure_params_rowsetexec sp_procedure_params_rowset 'up_rpt营业收入汇总表' PROCEDUR ...

  3. 【存储过程】用SQL语句获得一个存储过程返回的表

    定义一个存储过程如下: create proc [dbo].[test1] @id int as select 1 as id,'abc' as name union all select @id a ...

  4. SQL 数据库 学习 007 通过一个示例简单介绍什么是字段、属性、列、元组、记录、表、主键、外键 (上)

    SQL 数据库 学习 007 通过一个示例简单介绍什么是字段.属性.列.元组.记录.表.主键.外键 (上) 我们来介绍一下:数据库是如何存储数据的. 数据库是如何存储数据的 来看一个小例子 scott ...

  5. 使用oracle 的 PL/Sql 定时执行一个存储过程

    CSDN日报20170322--<关于软件研发的一些体会总结> 同步博客至 CSDN ,让更多开发者看到你的文章 看微博技术大咖解析互联网应用架构实战 使用oracle 的 PL/Sql ...

  6. SQL SERVER 存储过程示例

    USE TEST_DEV; SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ================================== ...

  7. SQL 存储过程里调用另一个存储过程

    由于创建了一个存储过程,并且要在另一个存储过程里调用这个存储过程所以在网上找了一下相关的代码,现在总结一下,防止以后还会用到 由于这次我写的存储过程只需要返回一个求和的结果,所以我使用了output ...

  8. SQL Server 的通用分页显示存储过程

    建立一个 Web 应用,分页浏览功能必不可少.这个问题是数据库处理中十分常见的问题.经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用游标)来实现分页.但这种分页方法仅适 ...

  9. SQL Server 日期相关

    原文:SQL Server 日期相关 原帖出处:http://blog.csdn.net/dba_huangzj/article/details/7657979 对于开发人员来说,日期处理或许简单,或 ...

随机推荐

  1. 【最短路】Vijos P1046 观光旅游

    题目链接: https://vijos.org/p/1046 题目大意: 给n个点(n<=100),m条无向边(m<=10000),问这张图的最小环长度. (注意:无自环,同一个点对之间的 ...

  2. POJ 1700 坐船过河问题

    题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82974#problem/E 解题思路:当n>=4,假设n个人单独过河所需 ...

  3. html5 教程

    http://www.tutorialspoint.com/html5/index.htm

  4. XgCalendar日历插件动态添加参数

    在使用xgcalendar日历插件的时候,参数数组并非只有类型.显示时间.时区等这些参数,还可以根据extParam自定义参数扩展搜索条件,例如根据用户Id搜索不同用户的日历信息,需要将用户的Id存在 ...

  5. Java基础知识强化73:正则表达式之分割功能

    1. 分割功能: 使用String的split方法,split方法:根据给定正则表达式的匹配拆分字符串.如下: public String[] split(String regex): 2.  案例: ...

  6. 阿里云ECS安全改造:改用AWS EC2私钥方式登录

    阿里云ECS有多烂,用过AWS的人都知道,ECS有什么问题呢,简单总结一下: 1)ubuntu居然root直接访问 2)端口全开 3)WEB控制台无法定义安全组及关闭端口 4)云盾黑洞 的确用起来很糟 ...

  7. C#_串口程序_二次打包_事件响应

    using System;using System.IO.Ports;using System.Windows.Forms; namespace Dll_Serial_Comm{    public ...

  8. 在Github上面搭建Hexo博客(一):部署到Github

    什么是Hexo Hexo是一个基于Node.js的静态博客程序,可以方便的生成静态网页托管在Github和Heroku上.并且有很多人为其制作了很多优秀的主题(theme),你可以根据自己的喜好进行设 ...

  9. 《node.js开发指南》读书笔记(一)

    在开发时如果修改了js内容,不能通过刷新浏览器直接看到效果,必须通过重启nodejs程序才能看到,这样显然不利于开发调试,supervisor可以实现这个功能,监视对代码的改动,并自动重启nodejs ...

  10. gis基本概念之"投影变换"-浅谈

    目录 1,概述 2,常用的投影方法有 正解变换 反解变换 数值变换 3,定义投影 4,投影变换 1,栅格(投影变换) 2,要素(投影变换) 注意 1,概述 因为GIS描述的是位于地球表面的信息,所以根 ...