‘壹’ sql 日期、时间函数的使用
1 select datepart(year,getdate()),datepart(month,getdate()),datepart(dd,getdate())
2 select datediff(dd,'2007-2-5',getdate())
‘贰’ SQL时间函数
SQLServer2000中没有这种数据类型,只有SQLServer2008中才有这种数据类型,名字叫time数据类型.time类型只有时分秒,没有年月日.
在SQLServer2000中如果要实现这种效果,那么就不适合用日期和时间类型,而应该采用字符串类型,值由时间类型转换而来,如:
SELECT CONVERT(varchar(100), GETDATE(), 108)--结果: 10:57:49
‘叁’ 建立SQL 函数里有时间时间参数
个人认为你的函数参数是日期型,你在使用时给函数的值是字符型,转换一下试试
‘肆’ SQL语句当前日期函数
SELECT GETDATE()即可得到当前日期
‘伍’ 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如何提取当前时间的函数
getdate()函数:取得系统当前的日期和时间。返回值为datetime类型的。
用法:getdate()
datepart()函数:以整数的形式返回时间的指定部分。
用法:datepart(datepart,date)
参数说明:datepart时要返回的时间的部分,常用取值year、month、day、hour、minute。
‘柒’ 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 时间函数如题.
SQL里常用的时间函数:
http://wenku..com/link?url=rOCQu7--
‘玖’ SQL日期函数
datepart(weekday,cardBeginTime)
这是获得表里cardBeginTime这个字段中的所有日期每天分别是星期几
in (1,7) 是指获取星期六和星期天的记录
sql server 默认sunday 是每周开始第一天,所以取1,7代表星期六和星期天。
‘拾’ sql时间函数
--MS SQL SERVER
SELECT DATEDIFF(MONTH,'2005-06-01',GETDATE()) M
/*结果:
M
-----------
78
(1 行受影响)