SqlServer: datepart ,dateadd,datediff,dateName函数

SELECT DATEDIFF(YEAR,‘1992-11-28‘,GETDATE())               --求岁数,其中YEAR可以换成DAY MONTH

SELECT DATEPART(MONTH,GETDATE())                               --返回代表指定日期的指定日期部分的整数。如12

SELECT DATENAME(WEEKDAY,‘2014-11-12‘)                          --返回指定日期是周几,如星期一、

SELECT DATENAME(WEEKDAY,GETDATE())                           --返回当前日期是周几

SELECT DATENAME(WEEK,GETDATE())                                  --返回当前是本年的第多少周,如51

举例:

--查询student表中所有年龄大于20岁的男生的姓名和年龄
use teaching
go
select student.sname,DATEDIFF(YEAR,birthday,GETDATE()) as '年龄'
from student
where student.sex='男' and DATEDIFF(YEAR,birthday,GETDATE())>20

1. 当前系统日期、时间

select getdate()

2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值

例如:向日期加上2天

select dateadd(day,2,‘2004-10-15‘) --返回:2004-10-17 00:00:00.000

3. datediff 返回跨两个指定日期的日期和时间边界数。

select datediff(day,‘2004-09-01‘,‘2004-09-18‘) --返回:17

4. datepart 返回代表指定日期的指定日期部分的整数。

SELECT DATEPART(month, ‘2004-10-15‘) --返回 10

5. datename 返回代表指定日期的指定日期部分的字符串

SELECT datename(weekday, ‘2004-10-15‘) --返回:星期五

时间: 2025-01-14 02:19:26

SqlServer: datepart ,dateadd,datediff,dateName函数的相关文章

四个很好用的Sql Server 日期函数:DateDiff、DatePart、DateAdd、DateName

我以前查一段时间范围内的数据都是在程序里计算好日期再掉查询语句,现在我用下面的函数.SQL SERVER没有查一季度数据的函数. DateDiff函数: 描述 返回两个日期之间的时间间隔. 语法 DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]]) DateDiff 函数的语法有以下参数: 参数 描述 interval 必选.字符串表达式,表示用于计算 date1 和 date2 之间的时间间隔.有关数值,请参

SQLServer和Oracle的常用函数对比

---------数学函数 1.绝对值 S:select abs(-1) value O:select abs(-1)  value from dual 2.取整(大) S:select ceiling(-1.001) value O:select ceil(-1.001)  value from dual 3.取整(小) S:select floor(-1.001) value O:select floor(-1.001)  value from dual 4.取整(截取) S:select

sqlserver 汉字转全拼函数

create function fn_Getquanpin (@str varchar(100)) returns varchar(8000) as begin declare @re varchar(8000),@crs varchar(10) declare @strlen int select @strlen=len(@str),@re='' while @strlen>0 begin set @crs= substring(@str,@strlen,1) select @re= case

SQL-----datediff,dateadd,datedepart,datename,convert

--getdate 当前系统日期.时间 select getdate() --2014-11-24 13:22:40.407 --convert() 函数可以用不同的格式显示日期/时间数据 select convert(varchar(100),getdate(),23) --2014-11-24 --datediff 返回跨两个指定日期的日期和时间边界数 select datediff(day,'2014-11-24','2014-12-28') --34 select datediff(mo

在Oracle数据库中实现SqlServer数据库中的NewID()函数功能

因为我是使用.NET C#进行开发,所以平时会使用SqlServer的NewID()函数来生成数据的ID. 在C#语言中也可以很方便地使用Guid.NewGuid().ToString()方法来生成格式一样的ID. 现在数据库换成了Oracle,没有类似的函数可以方便地调用,但是Oracle中自带一个函数SYS_GUID(). 返回的是一串二进制的数据,可以通过CAST转换成VARCHAR类型后就是类似SqlServer中NewID()方法生成的ID的样子了. 我们只要再做下手脚,往里面插入几个

SQL SERVER中求上月、本月和下月的第一天和最后一天 DATEADD DATEDIFF

SQL SERVER中求上月.本月和下月的第一天和最后一天 1.上月的第一天 SELECT CONVERT(CHAR(10),DATEADD(month,-1,DATEADD(dd,-DAY(GETDATE())+1,GETDATE())),111) 2.上月的最后一天 SELECT CONVERT(CHAR(10),DATEADD(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()),0)),111)+' 23:59:59' 3.本月的第一天 SELECT CO

DATEADD 和 CAST 函数

where cast(soh.orderdate as date)=cast(dateadd(day,-1,getdate()) as date) 这一代码在sql 2005 不适用,使用convert 函数将容器改为不包括时间的varchar类型,然后进行比较.

sqlserver学习--4(replace()函数,)

1.replace()函数 UPDATE tmp_create_fminfo SET bore=REPLACE(REPLACE(bore,'(',''),')','') --REPLACE(bore,'(',''):bore字段的左括号以空代替 --REPLACE(REPLACE(bore,'(',''),')',''):REPLACE(bore,'(','')的右括号以空代替 2.

sqlServer数据库定时延迟执行函数

while 1>0 --循环begin update T_D_CHANNEL set R_DAT_VAL=DateName(second,GetDate()) --获取当前系统时间的秒数 where dat_kd_id = 'PU_PWH' or dat_kd_id = 'PU_CH_FQC' or dat_kd_id='PU_WK_FQC' or dat_kd_id='RS_TIME' or dat_kd_id='FL_Q_FD' or dat_kd_id='FL_R_RG' or dat_k