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.本月的第一个星期一i
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查询本季的记录 注:其中:GETDATE()是获得系统时间的函数。
select * from tableName where DATEPART(qq, theDate) = DATEPART
(qq, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, 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())
分享到:
相关推荐
在Microsoft SQL Server(以下简称SQL Server)中处理日期和时间时,经常会遇到一些挑战。由于SQL Server默认只提供`DATETIME`数据类型来存储日期和时间信息,这使得在某些情况下仅提取日期部分变得较为复杂。本文将...
表3则详细列举了SQL Server和Kingbase ES 3.1之间一些常用的函数对应关系,比如日期和时间函数、字符串函数等。例如,获取当前日期的函数、字符串子串查找的函数等,这些都是在进行数据库移植时可能需要调整的部分。...
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=myDatabase"; Connection conn = DriverManager.getConnection(url, "username", "password"); Statement stmt = conn.createStatement()...
标题提到的"根据年月日生成编号sqlserver 很不错的算法"可能是一种高效且灵活的方法,用于创建包含日期元素的唯一标识符。以下将详细介绍这种算法的可能实现及其原理。 首先,我们可以考虑使用SQL Server的内置函数...
### SQL Server死锁总结 #### 一、死锁原理 死锁是计算机系统中常见的问题之一,特别是在数据库管理系统中,由于并发控制不当可能导致系统性能下降甚至完全停止响应。在SQL Server中,死锁指的是两个或多个事务...
5. **性能指标**:常见的SQL Server性能指标包括CPU使用率、内存使用、磁盘I/O、查询执行时间、锁等待等。这些指标可以通过SQL Server的系统视图和动态管理视图(如sys.dm_os_performance_counters和sys.dm_exec_...
SQL Server死锁是数据库系统中常见的问题,它发生在两个或多个事务之间,因为它们相互等待对方释放资源,导致事务无法继续执行。理解死锁的原因和解决策略对于优化数据库性能至关重要。 首先,我们要深入理解死锁的...
在SQL Server中,游标是一种数据处理工具,它允许我们逐行处理查询结果集,而不仅仅是一次性返回所有数据。游标对于那些需要按顺序处理数据、分步操作或逐条检查结果的应用场景非常有用。本篇文章将深入探讨SQL ...
在SQL Server中,日期型字段设默认值是一个重要的功能,它允许数据库管理员或开发者为特定的日期字段设定一个默认的时间点,通常是当前时间或者基于当前时间的某个偏移量。这在创建新记录时非常有用,可以自动填充...
String url = "jdbc:sqlserver://localhost:1433;databaseName=myDatabase"; String user = "username"; String password = "password"; try (Connection conn = DriverManager.getConnection(url, user, ...
SQL Server 2005是微软推出的一款关系型数据库管理系统,它在企业级数据管理和分析中扮演着重要的角色。在本次的技术分享中,我们将聚焦于SQL Server 2005的内置函数和存储过程,这两个核心特性对于数据库开发和管理...
String url = "jdbc:sqlserver://localhost:1433;databaseName=myDB"; String username = "myUser"; String password = "myPassword"; try (Connection conn = DriverManager.getConnection(url, username, ...
首先使用样式代码120获取日期时间字符串,然后通过多次调用`REPLACE`函数去除短横线、空格和冒号,最终得到一个没有分隔符的日期时间字符串。 ##### 示例3:使用样式代码111 ```sql SELECT CONVERT(varchar(12), ...
在给出的例子中,当两个窗口同时操作同一数据时,第一个窗口开启的事务会导致其他窗口在该事务未完成前无法获取数据,这就是隔离性的体现。为了维持ACID特性,SQL Server会使用锁来防止并发操作引发的数据不一致。 ...
当然,启用和管理SQL Server中的CLR集成需要注意一些安全和性能问题。你应该限制对CLR的访问,只允许经过验证和安全的代码运行。同时,要监控CLR对象的性能,确保它们不会成为系统资源的瓶颈。 在提供的".sql"文件...
### SqlServer触发器详解与案例分析 #### 一、触发器概述 触发器是一种特殊类型的存储过程,它被定义为当特定的事件(如数据的插入、更新或删除)发生时自动执行。Sql Server 中的触发器可以用来强制业务规则或者...
标题“c#写的sql Server数据库自动备份程序”中蕴含的知识点涉及了使用C#语言对SQL Server数据库...开发者希望获取反馈,意味着这个程序很可能是一个学习示例,用于提高编程水平或探索.NET框架与SQL Server的集成开发。
在SQL Server数据库中,分页查询是一个非常重要的功能,它允许我们从大量数据中只获取一部分,例如,每次只返回一页的数据,以提高查询效率和用户体验。本篇将深入探讨SQL Server实现分页查询的语句及其工作原理。 ...
这个“sqlserver2008数据库实例练习”提供了一个学生成绩管理系统的例子,它包含了用于学习数据库操作的基础知识,如查询、更新、插入和删除等基本操作。 首先,让我们来了解SQL Server 2008的基本概念。SQL...
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb" username="myuser" password="mypassword" maxActive="100" maxIdle="30" maxWait="10000"/> ``` 这里,`name`属性是JNDI名称,`auth`...