计算年资的SQL语句
1.bzscs(沙虫 我爱小美)用函數的好辦法:
CREATE function [dbo].[calc_date](@time smalldatetime,@now smalldatetime)
returns nvarchar(10)
as
begin
declare @year int,@month int,@day int
select @year = datediff(yy,@time,@now)
if (month(@now)=month(@time)) and (day(@now)<day(@time)) or (month(@now)<month(@time))
set @year = @year-1
select @month = datediff(month,@time,@now)-12*@year
if(day(@now)<day(@time))
set @month = @month-1
select @day = datediff(dd,dateadd(month,(12*@year+@month),@time),@now)
return cast(@year as varchar) + '年'+ cast(@month as varchar)+'個月'+cast(@day as varchar)+'天'
end
GO
-------------------------------------------------------------------------------------
--調用函數 :
--1.某一具體日期
declare @kk nvarchar(10)
select @kk = [dbo].[calc_date]('2001-11-28',getdate())
print @kk
--2.數據表的'入職日期'字段
select empno,indate,[dbo].[calc_date](indate,getdate()) from employee
相关文档:
1 ,对于日期字段字段
access表示为:#1981-28-12#
SQLSERVER2000表示为:''1981-02-12''
2,SQL语句区别,select ,update 在对单表操作时都差不多,
但多表操作时update语句的区别ACCESS与SQLSERVER中的Update语句对比:
SQLSERVER中更新多表的Update语句:
Update Tab1
SET a.Name = b.Name
from Tab1 a,Tab2 b
Whe ......
1、截断日志:
backup log 数据库 with no_log
或:
清空日志
DUMP TRANSACTION 库名 WITH NO_LOG
2、 & ......
这个函数DateAdd(month,2,WriteTime):
日期部分缩写 Year yy, yyyy quarter qq, q Month mm, m dayofyear dy, y Day dd, d Week wk, ww Hour hh minute mi, n second ss, s millisecond ms
这个表足够说明问题了吧,从year到millisecond都可以处理,够方便了吧.
DATEDIFF 函数 [日期和时间]
-------------- ......