1.显示本月第一天
SELECT DATEADD(mm,DATEDIFF(mm,0,getdate()),0)
select convert(datetime,convert(varchar(8),getdate(),120)+'01',120)
2.显示本月最后一天
select dateadd(day,-1,convert(datetime,convert(varchar(8),dateadd(month,1,getdate()),120)+'01',120))
SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+1,0))
3.上个月的最后一天
SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(mm,0,getdate()),0))
4.本月的第一个星期一
select DATEADD(wk,DATEDIFF(wk,0, dateadd(dd,6-datepart(day,getdate()),getdate())),0)
5.本年的第一天
SELECT DATEADD(yy,DATEDIFF(yy,0,getdate()),0)
6.本年的最后一天
SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate())+1,0))
7.去年的最后一天
SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate()),0))
8.本季度的第一天
SELECT DATEADD(qq,DATEDIFF(qq,0,getdate()),0)
9.本周的星期一
SELECT DATEADD(wk,DATEDIFF(wk,0,getdate()),0)
10.查询本月的记录
select * from tableName where DATEPART(mm, theDate) = DATEPART(mm, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE())
11.查询本周的记录
select * from tableName where DATEPART(wk, theDate) = DATEPART(wk, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE())
12.查询本季的记录
select * from tableName where DATEPART(qq, theDate) = DATEPART(qq, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE())
其中:GETDATE()是获得系统时间的函数。
13.获取当月总天数:
select DATEDIFF(dd,getdate(),DATEADD(mm, 1, getdate()))
select datediff(day,
dateadd(mm, datediff(mm,'',getdate()), ''),
dateadd(mm, datediff(mm,'',getdate()), '1900-02-01'))
14.获取当前为星期几
DATENAME(weekday, getdate())
15. 当前系统日期、时间
select getdate()
16. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值
例如:向日期加上2天
select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000
17. datediff 返回跨两个指定日期的日期和时间边界数。
select datediff(day,'2004-09-01','2004-09-18') --返回:17
18. datepart 返回代表指定日期的指定日期部分的整数。
SELECT DATEPART(month, '2004-10-15') --返回 10
年为year,月为month,日为day,小时hour,分为minute,秒为second
19. datename 返回代表指定日期的指定日期部分的字符串
SELECT datename(weekday, '2004-10-15') --返回:星期五
17. 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) 说明
Year Yy 年 1753 ~ 9999
Quarter Qq 季 1 ~ 4
Month Mm 月1 ~ 12
Day of year Dy 一年的日数,一年中的第几日 1-366
Day Dd 日,1-31
Weekday Dw 一周的日数,一周中的第几日 1-7
Week Wk 周,一年中的第几周 0 ~ 51
Hour Hh 时0 ~ 23
Minute Mi 分钟0 ~ 59
Second Ss 秒 0 ~ 59
Millisecond Ms 毫秒 0 ~ 999
举例:
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年
应用示例:
查询某个日期之间的记录数据:
select * from 表 where 开始时间>'2005-02-01' and 结束时间<='2005-06-05'order by id desc
查询最近30内的记录数据:
select * from 表 where datediff(Dd,last_date,getdate())<=30 order by id desc
查询最近一周内的点击率大于100的记录数据:
select * from t_business_product where hit_count>100 and datediff(Dw,last_date,getdate())<=7 order by id desc
查询某一年(如2006年)的记录数据:
select * from 表 where DatePart(Yy,last_date)=2006 order by id desc
或
select * from 表 where DatePart(Year,last_date)=2006 order by id desc
如查询系统当前年份插入的一年内的数据:
select * from 表 where DatePart(Yy,getdate())=DatePart(Yy,getdate()) order by id desc
分享到:
相关推荐
在SQL Server 2000中,事务管理是数据库系统中至关重要的部分,因为它涉及到数据的一致性、完整性和并发控制。本篇将深入探讨SQL Server 2000的事务机制,帮助你全面理解并掌握如何在多用户环境下有效地处理数据并发...
总的来说,"jdbc sql server 2000驱动包"是Java开发者用来连接和操作SQL Server 2000数据库的关键组件,而保证数据库已升级到SP3或SP4则是确保驱动程序兼容性和稳定性的必要条件。在实际开发过程中,理解JDBC的工作...
对于初学者,SQL Server 2000企业管理器提供了一个直观的学习平台,能够理解数据库的基本概念和操作。对于开发者,它提供了高效的数据库管理和调试工具。尽管现在SQL Server已经有更新的版本,如SQL Server 2016、...
String url = "jdbc:sqlserver://localhost:1433;databaseName=myDatabase"; String username = "myUsername"; String password = "myPassword"; try (Connection conn = DriverManager.getConnection(url, ...
SQL Server 2000支持多种数据类型,如数值类型(如INT、DECIMAL)、字符类型(如VARCHAR、NVARCHAR)、日期时间类型(如DATETIME)、二进制类型(如BLOB)等。理解这些数据类型对于有效管理数据至关重要。 四、表与...
- **加载驱动**: 使用`Class.forName()`方法加载对应的JDBC驱动类,例如`com.microsoft.jdbc.sqlserver.SQLServerDriver`。 - **创建连接**: 使用`DriverManager.getConnection()`方法,提供数据库URL、用户名和密码...
2. 在Java代码中,通过Class.forName()方法加载驱动,例如:`Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");` 3. 使用DriverManager.getConnection()方法建立到SQL Server的连接,提供服务器地址...
对于Java开发者来说,要与SQL Server 2000进行交互,就需要依赖特定的驱动程序,即“SQLServer2000驱动jar包”。这个jar包包含了连接SQL Server 2000所需的所有类库,使得Java程序能够通过JDBC(Java Database ...
SQL Server 2000提供了丰富的内置函数,包括数值函数、字符串函数、日期时间函数、系统信息函数、聚合函数等。例如,`RAND()`用于生成随机数,`CONVERT()`用于转换数据类型,`LEFT()`和`RIGHT()`用于截取字符串,`...
3. **msutil.jar**: 这个JAR文件包含了SQL Server的实用工具类,用于辅助数据库操作,如日期时间处理、字符串操作、加密算法等。这些工具类可以提高开发效率,使得开发人员不必自行编写这些常见但又复杂的函数。 ...
然而,随着时间的推移,系统漏洞、安全问题和性能瓶颈逐渐显现,为了改善这些问题,微软发布了Service Pack(服务包),其中SP4是SQL Server 2000的最后一个主要更新。 **SQL Server 2000 SP4 知识点** 1. **服务...
public class SqlServer2000Example { public static void main(String[] args) { try { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); String url = "jdbc:microsoft:sqlserver://localhost...
本文将详细介绍如何将MS SQL Server 2000的数据顺利迁移到更新版本的MS SQL Server 2005中。这个过程通常被称为数据库升级或迁移,它涉及到数据的备份、转换以及在新环境中恢复。 首先,迁移前的准备工作至关重要。...
SQL Server 2000驱动包是用于连接和操作Microsoft SQL Server 2000数据库的重要组件,尤其对于Java开发者来说,这些驱动包是必备的工具。本驱动包包括三个核心的Java Archive (JAR) 文件:msbase.jar、mssqlserver....
标签列出了三个关键文件:"sqlserver2000 数据库驱动包 msbase.jar mssqlserver.jar msutil.jar"。这些文件是驱动包的核心组成部分,它们的作用如下: 1. **msbase.jar**:这是SQL Server JDBC驱动的基础组件,包含...
public class SqlServer2000Connection { public static void main(String[] args) { try { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); Connection conn = DriverManager.getConnection( ...
是SQL Server 2000 JDBC驱动的类名,`jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=myDB`是JDBC连接URL,其中`localhost`是服务器地址,`1433`是默认的SQL Server端口号,`myDB`是数据库名称,`username...
文件列表中的"SQLServer2000竒ㄥ竲セ.sql"可能包含了一些特殊字符,这可能是编码问题,导致在解压时显示不正常。但正如描述中提到的,这些乱码并不会影响文件的实际内容和解压缩过程。文件名中的"╕g¿σ╕}Ñ╗"也...
SQL Server 2000日志浏览器,全称为Microsoft SQL Server 2000 Log Explorer,是一款用于查看和分析SQL Server事务日志的工具。在数据库管理中,事务日志至关重要,因为它记录了所有数据库更改操作,对于数据恢复、...
String url = "jdbc:sqlserver://localhost:1433;databaseName=myDatabase"; String username = "myUsername"; String password = "myPassword"; try { Class.forName(...