易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL Server 日期和时间函数


 
1、常用日期方法(下面的GetDate() = '2006-11-08 13:37:56.233')
(1)DATENAME ( datepart ,date )
   返回表示指定日期的指定日期部分的字符串。Datepart详见下面的列表.
SELECT DateName(day,Getdate()) –返回8
(2)DATEPART ( datepart , date )
    返回表示指定日期的指定日期部分的整数。
SELECT DATEPART(year,Getdate()) –返回2006
(3)DATEADD (datepart , number, date )
    返回给指定日期加上一个时间间隔后的新datetime 值。
SELECT DATEADD(week,1,GetDate()) --当前日期加一周后的日期
(4)DATEDIFF ( datepart , startdate , enddate )
返回跨两个指定日期的日期边界数和时间边界数。
SELECT DATEDIFF(month,'2006-10-11','2006-11-01') --返回1
(5)DAY ( date )
返回一个整数,表示指定日期的天datepart 部分。
SELECT day(GetDate()) –返回8
(6)GETDATE()
以datetime 值的SQL Server 2005 标准内部格式返回当前系统日期和时间。
SELECT GetDate()   --返回2006-11-08 13:37:56.233
(7)MONTH ( date )
返回表示指定日期的“月”部分的整数。
SELECT MONTH(GETDATE()) --返回11
(8)YEAR ( date )
返回表示指定日期的“年”部分的整数。
SELECT YEAR(GETDATE()) --返回2006
2、取特定日期
(1)获得当前日期是星期几
SELECT DateName(weekday,Getdate()) --Wednesday
(2)计算哪一天是本周的星期一
SELECT DATEADD(week, DATEDIFF(week,'1900-01-01',getdate()), '1900-01-01')  --返回2006-11-06 00:00:00.000

SELECT DATEADD(week, DATEDIFF(week,0,getdate()),0)     
(3)当前季度的第一天
SELECT DATEADD(quarter, DATEDIFF(quarter,0,getdate()), 0)—返回2006-10-01 00:00:00.000
(4)如何取得某个月的天数
SELECT Day(dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,'2006-02-03')+1,0)))  —返回28
(5)一个季度多少天
declare @m tinyint,@time smalldatetime
select @m=month(getdate())
select @m=case when @m between 1 and 3 then 1
                       when @m between 4 and 6 then 4
  


相关文档:

SQL查询每所学校语文成绩最高的学生信息

数据库 有两张表
表1: student
表2:chinese
现在要分别列出 每所学校 语文成绩最高的 学生信息
SQL :
SELECT *
from student
LEFT JOIN chinese ON student.no = chinese.no
WHERE chinese.chengji
IN (
SELECT max( chinese.chengji )
from student
LEFT JOIN chinese ON student.no = chinese.no
GROU ......

查看SQL Server日志的方法

转自http://blog.csdn.net/ziren235/archive/2007/07/03/1676347.aspx
在SQL Server2000中,一个数据库的日志是以*.ldf 文件存放,请问我想查看某一个数据库的日志,该如何操作.
方法1、
DBCC LOG('DatabaseName',2)
方法2:
select * from ::fn_dblog(default,default)
方法3
用Log Explorer ......

SQL Server2000 中如何查看数据库日志

 在SQL Server2000中,一个数据库的日志是以*.ldf 文件存放,请问我想查看某一个数据库的日志,该如何操作.
方法1、
DBCC LOG('DatabaseName',2)
方法2:
select * from ::fn_dblog(default,default)
方法3
用Log Explorer ......

Sql Sever记录的行列转换

已知一个表的结构为:
姓名 科目 成绩
张三 语文 20
张三 数学 30
张三 英语 50
李四 语文 70
李四 数学 60
李四 英语 90
怎样通过select语句把他变成以下结构:
姓名 语文 数学 英语
张三 20 30 50
李四 70 60 90
答:
CREATE TABLE [dbo].[Stu] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Name] ......

多字段模糊查询sql like %% 优化与区别

多字段模糊查询sql like %% 优化与区别
http://anforen.5d6d.com/
SELECT *
  from [KLims].[dbo].[Task] 
where  ClientCompany like '%a%' or [Address] like '%a%'
SELECT *
  from [KLims].[dbo].[Task] 
where  ClientCompany + [Address] like '%a%'
但当其中一字段 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号