当前位置:首页 » 编程语言 » sql日期函数
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql日期函数

发布时间: 2022-01-22 11:17:39

sqlServer日期函数转换成短日期

sqlServer日期函数转换成短日期
select cast('2013-08-22 14:22:44.000 'as date ) 就可以了

② SQL中获取当前日期的函数怎么写(只要**月**日)

sql本身提供的系统日期函数是取不出这样子格式的,只有自己合并字符串,才可得到需要的格式

法一:
select right(CONVERT(varchar(6), GETDATE(),112),2)+'月'+right(CONVERT(varchar(8), GETDATE(), 112),2)+'日'
法二:
select convert(varchar(10),datepart(m,getdate()))+'月'+convert(varchar(10),datepart(d,getdate()))+'日'
法三:
select substring(convert(varchar(8),getdate(),112),5,2)+'月'+substring(convert(varchar(8),getdate(),112),7,2)+'日'

③ sql中日期函数的用法

1.DateAdd ( I , N , D )
将一个日期加上一段期间后的日期。 I :设定一个日期( Date )所加上的一段期间的单位。譬如 interval="d" 表示 N的单位为日。 I的设定值如下:
yyyy Year 年
q Quarter 季
m Month 月
d Day 日
w Weekday 星期
h Hour 时
n Minute 分
s Second 秒
N :数值表达式,设定一个日期所加上的一段期间,可为正值或负值,正值表示加(结果为 >date 以后的日期),负值表示减(结果为 >date 以前的日期)。
D :待加减的日期。
例子: DateAdd ( "m" , 1 , "31-Jan-98")
结果: 28-Feb-98
说明:将日期 31-Jan-98 加上一个月,结果为 28-Feb-98 而非 31-Fe-98 。
例子: DateAdd ( "d" , 20 , "30-Jan-99")
结果: 1999/2/9
说明:将一个日期 30-Jan-99 加上 20 天后的日期。

2.Day( 日期的字符串或表达式 )
传回日期的“日”部份。
例子: Day(" 12/1/1999 ")
结果: 1

3.DateDiff (I , D1 , D2[,FW[,FY]])
计算两个日期之间的期间。
I :设定两个日期之间的期间计算之单位。譬如 >I="m" 表示计算的单位为月。 >I 的设定值如:
yyyy > Year 年
q Quarter 季
m Month 月
d Day 日
w Weekday 星期
h Hour 时
n Minute 分
s Second 秒
D1 ,D2:计算期间的两个日期表达式,若 >date1 较早,则两个日期之间的期间结果为正值;若 >date2 较早, 则结果为负值。
FW :设定每周第一天为星期几, 若未设定表示为星期天。 >FW 的设定值如下:
0 使用 >API 的设定值。
1 星期天
2 星期一
3 星期二
4 星期三
5 星期四
6 星期五
7 星期六
FY :设定一年的第一周, 若未设定则表示一月一日那一周为一年的第一周。 >FY 的设定值如下:
0 使用 >API 的设定值。
1 一月一日那一周为一年的第一周
2 至少包括四天的第一周为一年的第一周
3 包括七天的第一周为一年的第一周
例子: DateDiff ("d","25-Mar-99 ","30-Jun-99 ")
结果: 97
说明:显示两个日期之间的期间为 97 天

想查询2007年2月9日的付款流水有单笔交易出现多张小票号的情况的小票号
这个要看一下你的表结构是什么样的啊?

④ SQL语句当前日期函数

SELECT GETDATE()即可得到当前日期

⑤ sql两个日期之间怎么用函数表示

DATEDIFF
返回跨两个指定日期的日期和时间边界数。
语法

DATEDIFF ( datepart ,startdate ,enddate )
参数

datepart
是规定了应在日期的哪一部分计算差额的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。
日期部分缩写
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

startdate
是计算的开始日期。startdate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。
因为 smalldatetime 只精确到分钟,所以当用 smalldatetime 值时,秒和毫秒总是 0。
如果您只指定年份的最后两位数字,则小于或等于"两位数年份截止期"配置选项的值的最后两位数字的数字所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 two digit year cutoff 为 2049(默认),则 49 被解释为 2049,2050 被解释为 1950。为避免模糊,请使用四位数的年份。
有关时间值指定的更多信息,请参见时间格式。有关日期指定的更多信息,请参见 datetime 和 smalldatetime。
enddate
是计算的终止日期。enddate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。
返回类型

integer
注释

startdate 是从 enddate 减去。如果 startdate 比 enddate 晚,返回负值。
当结果超出整数值范围,DATEDIFF 产生错误。对于毫秒,最大数是 24 天 20 小时 31 分钟零 23.647 秒。对于秒,最大数是 68 年。
计算跨分钟、秒和毫秒这些边界的方法,使得 DATEDIFF 给出的结果在全部数据类型中是一致的。结果是带正负号的整数值,其等于跨第一个和第二个日期间的 datepart 边界数。例如,在 1 月 4 日(星期日)和 1 月 11 日(星期日)之间的星期数是 1。
示例

此示例确定在 pubs 数据库中标题发布日期和当前日期间的天数。
USE pubs

GO
SELECT DATEDIFF(day, pubdate, getdate()) AS no_of_days
FROM titles
GO

⑥ SQL时间函数

SQLServer2000中没有这种数据类型,只有SQLServer2008中才有这种数据类型,名字叫time数据类型.time类型只有时分秒,没有年月日.

在SQLServer2000中如果要实现这种效果,那么就不适合用日期和时间类型,而应该采用字符串类型,值由时间类型转换而来,如:
SELECT CONVERT(varchar(100), GETDATE(), 108)--结果: 10:57:49

⑦ SQL 日期比较函数

数据表这么设计好奇怪,不过也许有其他用途吧 就不说了。
可以将字段组合后加上一个‘01’这样一来,2011年的10月就会被转成20111001。然后将这个值强制转成日期类型。之后就可以直接比较了。
接下来就不用详细写了吧。

⑧ sql中日期函数

这样就行了,注意你cast成nvarchar类型,那么‘年’这种字符串前一定要加N,:
declare @Year int
declare @Month int
select @Year =2010
select @Month =12
select
case when @Month = 12 then cast(@Year+1 as nvarchar)+N'年'+cast(@Month-11 as nvarchar)+N'月01'
else
cast(@Year as nvarchar)+N'年'+cast(@Month+1 as nvarchar)+N'月01' end+N'至'+
case when @Month = 12 then cast(@Year+1 as nvarchar)+N'年'+cast(@Month-11 as nvarchar)+N'月30'
else
cast(@Year as nvarchar)+N'年'+cast( @Month+1 as nvarchar)+N'月30' end
我也不知道你到底想要什么东西,如果用datediff的话得到的就是一个天数,也没有必要加上年月日了:
declare @Year int
declare @Month int

select @Year =2010
select @Month =4
select

datediff
(day,
case when @Month = 12 then cast(@Year+1 as nvarchar)+' '+cast(@Month-11 as nvarchar)+' 01'
else
cast(@Year as nvarchar)+' '+cast(@Month+1 as nvarchar)+' 01' end,

cast(@Year as nvarchar)+' '+cast( @Month as nvarchar)+' 01' )

⑨ SQL日期函数

datepart(weekday,cardBeginTime)
这是获得表里cardBeginTime这个字段中的所有日期每天分别是星期几
in (1,7) 是指获取星期六和星期天的记录

sql server 默认sunday 是每周开始第一天,所以取1,7代表星期六和星期天。

⑩ sql 日期、时间函数的使用

1 select datepart(year,getdate()),datepart(month,getdate()),datepart(dd,getdate())

2 select datediff(dd,'2007-2-5',getdate())