加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sqlserver 日期函数 汇总 11/7

发布时间:2020-12-12 14:23:54 所属栏目:MsSql教程 来源:网络整理
导读:--1给表的日期字段设置默认值为当前日期 create table TestDatetime ( autoId int identity(1,1) primary key, Uname varchar(50), Ubirthday datetime ) --2使用GETDATE()方法获得当前日期 select GETDATE() print GETDATE() Print convert(varchar(50),get

--1给表的日期字段设置默认值为当前日期
create table TestDatetime
(
autoId int identity(1,1) primary key,
Uname varchar(50),
Ubirthday datetime
)

--2使用GETDATE()方法获得当前日期
select GETDATE()
print GETDATE()

Print convert(varchar(50),getdate(),105)
print cast(getdate() as varchar(10))

dateadd

print dateadd(day,100,getdate()),
print convert(varchar(50),dateadd(day,200,getdate()),111)

?

--给如日超过1年的员工加薪1000¥

select *
from Employees

update Employees set EmpSalary=EmpSalary+1000
where DATEADD(year,1,EmpInTime)<GETDATE()

?

datediff

--1983年11月22日 与现在getdate()相差多少年/月/日/时/分/秒?
print datediff(year,'1983-11-22',getdate())

print datediff(month,getdate())
print datediff(day,getdate())
print datediff(hour,getdate())
print datediff(minute,getdate())
print datediff(second,getdate())

--获取日期的一部分YEAR(日期),DAY(),MONTH()
--DATEPART

PRINT YEAR(GETDATE())
PRINT MONTH(GETDATE())
PRINT DAY (GETDATE())
print datepart(hour,getdate())
print datepart(minute,getdate())
print datepart(second,getdate())
print datepart(ms,getdate())

?

--输出所有数据中通话时间最长的5条记录
select? top 5*,通话时长=DATEDIFF(second,StartDateTime,EndDateTime)
from CallRecords
order by 通话时长 desc,CallerNumber desc

--输出所有数据中拨打长途号码(对方号码以0开头)的总时长。


select
SUM(DATEDIFF(second,EndDateTime)) as 通话总时长
from CallRecords
where TelNum like '0%'

--4输出本月拨打电话次数最多的前三个呼叫员的编号.group by,count(*)
--本月
select top 3
?? CallerNumber as 呼叫员编号,
?? COUNT(*) 呼叫次数
from CallRecords

where DATEDIFF(month,GETDATE(),STARTDATETIME)=0

group by CallerNumber
order by 呼叫次数 desc

?

--输出本月通话总时长最多的前三个呼叫员的编号
select
CallerNumber as 呼叫员编号,
SUM(datediff(second,EndDateTime)) as 总通话时长
from CallRecords
where DATEDIFF(month,STARTDATETIME)=0
group by CallerNumber
order by 总通话时长 desc

--按照月份分组

select? datediff(month,getdate()) from CallRecords group by datediff(month,getdate())

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读