`
huhubinbin_
  • 浏览: 70277 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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;
 

 

 

分享到:
评论

相关推荐

    delphi、 sql 日期时间函数

    本篇文章将深入探讨Delphi中的日期函数以及SQL(特别是MSSQL)中的日期时间函数,帮助开发者更好地理解和使用这些功能。 首先,让我们关注Delphi的日期函数。Delphi是一个强大的Object Pascal开发环境,它提供了一...

    sql时间函数格式转换

    SQL 时间函数是一种非常有用的函数,它可以将日期和时间转换为不同的格式,以满足不同的应用需求。下面将详细介绍 SQL 时间函数的格式转换。 getdate()函数 getdate() 函数用于获取当前系统的日期和时间。例如: ``...

    SQLSERVER时间日期函数详解

    SQLSERVER 时间日期函数详解 SQL Server 提供了多种时间日期函数,帮助开发者快速处理日期和时间相关的操作。下面将对这些函数进行详解,并提供示例。 1. GetDate() 函数 GetDate() 函数用于返回当前系统的日期和...

    SQL日期和时间函数.txt sql

    ### SQL日期和时间函数解析与应用 在数据库管理和数据分析领域,正确处理日期和时间数据是至关重要的。SQL提供了丰富的日期和时间函数,帮助用户精确控制和操作这些数据类型。以下是对给定文件中提到的几个关键SQL...

    Sql Server中的日期与时间函数

    ### Sql Server中的日期与时间函数 在SQL Server中,日期与时间函数是非常重要的工具,用于处理日期和时间数据。这些函数可以帮助我们获取当前系统日期、时间,并进行各种日期时间的操作,比如添加或减去一定的时间...

    sql日期函数大全

    `DATENAME`函数与`DATEPART`类似,但返回的是文本格式的日期部分,更适用于报表展示。例如,`DATENAME(month, '2023-01-01')`将返回“January”。 #### 三、GETDATE:获取当前系统时间 `GETDATE()`函数用于获取...

    SQLServer日期时间函数

    ### SQL Server 日期时间函数详解 #### 一、概述 在SQL Server中处理日期和时间是非常常见的需求之一。为了帮助用户高效地管理这些数据类型,SQL Server提供了丰富的日期时间函数,使得开发人员能够轻松地执行诸如...

    sql日期处理的函数大全

    以下是对SQL日期处理函数的全面解析,这些函数包括获取当前系统时间、修改日期时间值、计算日期时间间隔、提取日期时间的部分值以及验证和转换日期时间值。 ### 1. 获取当前系统时间 - **GETDATE()**:返回服务器...

    sql server 时间函数

    SQL Server 是一款功能强大的数据库管理系统,它提供了丰富的日期与时间函数,用于处理各种与日期和时间相关的数据。本文将深入探讨这些函数,并提供详细的使用示例,帮助读者更好地理解和运用这些函数。 ### 1. ...

    sql 日期格式化函数大全

    在SQL中,对日期进行格式化是非常常见的需求之一,尤其是在需要将日期数据展示给用户或与其他系统交互时。本文将详细介绍SQL Server中`CONVERT`函数的不同格式代码及其产生的效果,帮助读者更好地理解和应用这些格式...

    SQL SERVER 关于日期函数(字符转日期,日期转字符串)

    SQL Server 中的日期函数可以分为两大类:日期和时间函数、字符串和日期函数。日期和时间函数主要用来处理日期和时间数据,包括获取当前日期和时间、计算日期和时间差等。字符串和日期函数主要用来将日期和时间数据...

    SQLServer时间日期函数详解.doc

    SQL Server 提供了丰富的日期时间函数,用于处理和操作日期和时间数据。这些函数可以帮助开发人员在数据库查询和应用程序中执行各种日期和时间计算。以下是SQL Server中一些主要的时间日期函数的详细解释: 1. **...

    SQL 常用函数- 时间函数

    在SQL Server中,时间函数是数据库管理中不可或缺的一部分,它们用于处理和操作日期和时间数据。日期和时间处理在各种业务场景中极为重要,比如数据分析、报表生成、日志记录等。下面我们将深入探讨SQL Server中的...

    SQL中常用的的时间跟日期函数

    在SQL(结构化查询语言)中,时间与日期函数是处理日期和时间...在实际工作中,可以根据不同的SQL方言(如MySQL、SQL Server、Oracle等)进行相应的调整,因为不同的数据库系统可能会提供一些特有的日期和时间函数。

    sql时间函数大全

    ### SQL时间函数详解 在开发数据库应用程序的过程中,处理时间数据是一项基本且重要的任务。SQL提供了丰富的内置函数来帮助开发者高效地处理与日期和时间相关的数据。本文将详细讲解SQL中的常用时间函数,并通过...

    SqlServer日期处理函数

    ### SqlServer 日期处理函数详解 ...熟练掌握这些函数的应用,能够帮助开发者更高效地管理和处理日期时间相关的数据。 以上就是关于 SqlServer 日期处理函数的相关介绍和应用实例。希望对你有所帮助!

    SQL_SERVER日期函数详细用法

    SQL Server 提供了多种日期函数,用于处理日期和时间数据。下面将详细介绍这些函数的用法。 1. GETDATE() 函数 GETDATE() 函数用于获取当前日期和时间。该函数返回当前服务器的日期和时间,可以作为 DATETIME 类型...

    SQL日期函数应用集锦

    ### SQL日期函数应用集锦 在SQL Server数据库中,日期函数是进行日期处理与计算的重要工具之一。本文将详细介绍SQL Server中的几个常用日期函数及其应用场景,帮助开发者更好地理解和使用这些函数来解决实际问题。 ...

    sqlserver日期时间函数[参考].pdf

    SQL Server 日期时间函数详解 SQL Server 中的日期和时间函数是非常重要的一部分,它们可以帮助我们更好地处理日期和时间相关的数据。在 SQL Server 中,有多种日期和时间函数,每种函数都有其特定的功能和用途。在...

Global site tag (gtag.js) - Google Analytics