Sql Server中的时间差是使用DATEDIFF来是现的
语法如下:DATEDIFF(要显示时间格式,开始时间,结束时间)
比如:DATEDIFF(minute,'2019-2-28 8:30','2019-2-28 10:30')其中这个实现的是两个时间段中的分钟时间差
| datepart | 缩写 |
|---|---|
| 年 | yy, yyyy |
| 季度 | qq, q |
| 月 | mm, m |
| 年中的日 | dy, y |
| 日 | dd, d |
| 周 | wk, ww |
| 星期 | dw, w |
| 小时 | hh |
| 分钟 | mi, n |
| 秒 | ss, s |
| 毫秒 | ms |
| 微妙 | mcs |
| 纳秒 | ns |
设计一个小项目,要求收汽车在路边的停车的费用每半小时收费3元则做法如下
create table Car ( Id varchar(20),--编号 begintimes datetime,--开始时间 endtimes datetime,--结束时间 Moneys VARCHAR(20)--一个要计算金钱的字段 )
编写一段存储过程
--这段代码的作用是将数据库中一千存在的和你现在要
if (exists (select * from sys.objects where name = 'cartimes')) drop proc searchBooks1 go create procedure cartimes ( @begintimes datetime,--变量开始时间这个名字是自己可以起的 @endtimes datetime,--变量结束时间 @Id varchar(20)--要求要是被的字段自我感觉这个是个定位的作用 ) as select DATEDIFF(minute,@begintimes,@endtimes) /30 from car where Id=@Id go
--显示
exec cartimes '2019-2-28 8:30','2019-2-28 10:30',1
go
如何删除存储过程
语法是:drop procedure 存储过程名
drop procedure cartimes;
go
修改存储过程的名字
语法是 视频、sp-rename 现在的存储过程的名字,要修改的存储过程名字
sp_rename cartimes,cartimesss;
go
修改存储过程内容的语法是
alter procedure cartimes as select * from car go
本文只是我个人在以前的学习的现在有碰到了所以发次博客希望可以帮到需要的人欢迎大家前来讨论互相学习。