SQL日期与时间函数

SQL日期与时间函数2009年02月04日 星期三 上午 10:50sql server日期时间函数
Sql Server中的日期与时间函数
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')   --返回:星期五

6. day(), month(),year() --可以与datepart对照一下

select 当前日期=convert(varchar(10),getdate(),120)
,当前时间=convert(varchar(8),getdate(),114)

select datename(dw,'2004-10-15')

select 本年第多少周=datename(week,'2004-10-15')
       ,今天是周几=datename(weekday,'2004-10-15')

函数 参数/功能 
GetDate( ) 返回系统目前的日期与时间 
DateDiff (interval,date1,date2) 以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1 
DateAdd (interval,number,date) 以interval指定的方式,加上number之后的日期 
DatePart (interval,date) 返回日期date中,interval指定部分所对应的整数值 
DateName (interval,date) 返回日期date中,interval指定部分所对应的字符串名称

参数 interval的设定值如下:

值 缩 写      (Sql Server)   Access 和 ASP      说明 
Year           Yy              yyyy               年 1753 ~ 9999 
Quarter        Qq              q                  季 1 ~ 4 
Month          Mm              m                  月1 ~ 12 
Day of year    Dy              y                  一年的日数,一年中的第几日 1-366 
Day            Dd              d                  日,1-31 
Weekday        Dw              w                  一周的日数,一周中的第几日 1-7 
Week           Wk              ww                 周,一年中的第几周 0 ~ 51 
Hour           Hh              h                  时0 ~ 23 
Minute         Mi              n                  分钟0 ~ 59 
Second         Ss              s                  秒 0 ~ 59 
Millisecond    Ms              -                  毫秒 0 ~ 999

access 和 asp 中用date()和now()取得系统日期时间;其中DateDiff,DateAdd,DatePart也同是能用于Access和asp中,这些函数的用法也类似

举例:
1.GetDate() 用于sql server :select GetDate()

2.DateDiff('s','2005-07-20','2005-7-25 22:56:32')返回值为 514592 秒
DateDiff('d','2005-07-20','2005-7-25 22:56:32')返回值为 5 天

3.DatePart('w','2005-7-25 22:56:32')返回值为 2 即星期一(周日为1,周六为7)
DatePart('d','2005-7-25 22:56:32')返回值为 25即25号
DatePart('y','2005-7-25 22:56:32')返回值为 206即这一年中第206天
DatePart('yyyy','2005-7-25 22:56:32')返回值为 2005即2005年


----------------------------------------

Sql Server 常用日期格式 
发布于:2006-2-24 17:53:25 已被阅读: 158  
SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 
例如: 
select getdate() 
2004-09-12 11:06:08.177 
整理了一下SQL Server里面可能经常会用到的日期格式转换方法: 
举例如下: 
select CONVERT(varchar, getdate(), 120 ) 
2004-09-12 11:06:08

select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','') 
20040912110608

select CONVERT(varchar(12) , getdate(), 23 ) 
2004-09-12

select CONVERT(varchar(12) , getdate(), 111 ) 
2004/09/12

select CONVERT(varchar(12) , getdate(), 112 ) 
20040912

select CONVERT(varchar(12) , getdate(), 102 ) 
2004.09.12

select CONVERT(varchar(12) , getdate(), 101 ) 
09/12/2004

select CONVERT(varchar(12) , getdate(), 103 ) 
12/09/2004

select CONVERT(varchar(12) , getdate(), 104 ) 
12.09.2004

select CONVERT(varchar(12) , getdate(), 105 ) 
12-09-2004

select CONVERT(varchar(12) , getdate(), 106 ) 
12 09 2004

select CONVERT(varchar(12) , getdate(), 107 ) 
09 12, 2004

select CONVERT(varchar(12) , getdate(), 108 ) 
11:06:08

select CONVERT(varchar(12) , getdate(), 109 ) 
09 12 2004 1

select CONVERT(varchar(12) , getdate(), 110 ) 
09-12-2004

select CONVERT(varchar(12) , getdate(), 113 ) 
12 09 2004 1

select CONVERT(varchar(12) , getdate(), 114 ) 
11:06:08.177 






SimpleDateFormat myFmt=new SimpleDateFormat("yy/MM/dd ");
 String time=myFmt.format(now);
--------------------------

Timestamp转化为String:
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义格式,不显示毫秒
Timestamp now = new Timestamp(System.currentTimeMillis());//获取系统当前时间
String str = df.format(now);
 
      String转化为Timestamp:
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = df.format(new Date());
Timestamp ts = Timestamp.valueOf(time);

---------------------------
										


--------------------------------------------------
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 天 
-------------------------------------------------
二、日期/时间函数(可以工作在Select,FROM,Where之间)
1。ADD_MONTHS:将指定的日期增加一个月。
SQL>Select TASK,STARTDATE,ENDDATE orIGNAL_END,ADD_MONTHS(ENDDATE,2)
          FROM PROJECT;
2。LAST_DAY:可以返回指定月份的最后一天。
SQL>Select ENDDATE,LAST_DAY(ENDDATE) FROM PROJECT;
3。MONTHS_BETWEEN:查询给定2个日期之间有多少个月。
SQL>Select TASK,STARTDATE,ENNDATE,MONTHS_BETWEEN(STARTDATE,ENDDATE) DURATION 
           FROM PROJECT;   (返回结果是负值).
   可以利用负值来判断某一日期是否在另一个日期之前,
SQL>Select * FROM PROJECT Where MONTHS_BETWEEN ('19 MAY 95',STARTDATE)>0;
4。NEW_TIME:如果你想把时间调整到你所在的时区,你可以使用NEW_TIME,下边给出了所有时区。
SQL>Select ENDDATE EDT,NEW_TIME (ENDDATE,'EDT','PDT') FROM PROJECT;
5。NEXT_DAY:将返回与指定日期在同一个星期或之后一个星期内的,你所要求的星期天数的确切日期.如果你想知道你所指定的日期的星期五是几号,可以这样:
SQL>Select STARTDATE,NEXT_DAY(STARTDATE,'FRIDAY') FROM PROJECT;
6。SYSDATE:将返回系统的日期和时间。如:
SQL>Select DISTINCT SYSDAY FROM PROJECT;
 

 

 

你可能感兴趣的:(sql,SQL Server,qq,Access,asp)