设表名为tablename,编号字段名为合同编号,建立下面两个触发器,即可保证编码月份部份合法。
十多年的印江网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整印江建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“印江网站设计”,“印江网站推广”以来,每个客户项目都认真落实执行。
create TRIGGER TR_tablename_Insert ON tablename
FOR INSERT
AS
declare
@BH varchar(30)
select @BH=合同编号 from inserted
if convert(int,substring(@bh,7,2)) between 1 and 12
begin
raiserror(' 编码中月份部份不合法,请重新编码!',16,1)
return
end
GO
create TRIGGER TR_tablename_UPDATE ON tablename
FOR UPDATE
AS
declare
@BH varchar(30)
select @BH=合同编号 from inserted
if convert(int,substring(@bh,7,2)) between 1 and 12
begin
raiserror(' 编码中月份部份不正确,请重新编码!',16,1)
return
end
GO
使用dateadd函数,在当前的时间加一个月,如select dateadd(m,1,getdate()),显示的就是当前日期再加一个月!如果把1改成-1就是倒退一个月!
sqlserver截取日期年份和月份使用datepart函数,函数使用方法如下:
一、函数功能:DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。
二、语法:DATEPART(datepart,date)
三、参数说明:date 参数是合法的日期表达式。datepart 参数可以是下列的值:
四、实例
1、截取年份:datepart(yy,'2017-1-1') 返回:2017
2、截取月份:datepart(mm,'2017-1-1') 返回:1
五、datepart函数返回的是整型数值,如果需要返回字符型,那么使用datename()函数,用法与datepart相同,只是返回数据类型不同。
ADD_MONTHS 是oracle里面的函数吧,,,
sqlserver用dateadd()
随便写个例子
select dateadd(mm,2,getdate())
如果有什么不懂,可以看下帮助,上面写的很详细