易截截图软件、单文件、免安装、纯绿色、仅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 数据格式修改时,没有保存按钮的情况解决

如果你使用的是 SQL Server 2008, 当你修改数据结构后,保存时会报下图情况: Saving changes is not permitted. The changes you have made require the following tables to be dropped and re-created. You have either made changes to a table that can't be re-created or enabled the option Prevent saving cha ......

从SQL数据库里随机读取一条记录



怎样从数据库里随机读取
一条记录,
SELECT TOP 1 * from dbo.Customers ORDER BY  NEWID()
这样,如果是随机10
条,100条。。。。
SELECT TOP 10 * from dbo.Customers ORDER BY  NEWID()
很简单吧。
不过top后面数字越大,运行速度越慢。不推荐数据字太大。
以后代码在SQL2000 ......

Oracle和SQL server的数据类型比较


类型名称
Oracle
SQLServer
比较
字符数据类型
CHAR
CHAR
都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面最大长度为8kb
变长字符数据类型
VARCHAR2
VARCHAR
Oracle里面最大长度为4kb,SQLServer里面最大长度为8kb
根据字符集而定的固定长度字符串
NCHAR
NCHAR
前者最大长度2kb后者最大长度4 ......

SQL server2005中文件备份与恢复

备份
BACKUP DATABASE mydb
TO DISK='c:\olddb.bak'
WITH INIT
--为了测试,把备份好的文件从C盘移动到D:\tempdb 文件夹
--还原
--1.用此语句得到备份文件的逻辑文件名:
RESTORE FILELISTONLY from DISK = N'd:\tempdb\olddb.bak' --备份文件存放路径
--看LogicalName,一般会有两个文件,如:
--olddb &nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号