getdate()显示格式转与时间相关的sql语句sql获取当前时间
- 格式:doc
- 大小:33.50 KB
- 文档页数:10
sql语句中对datetime⽇期类型进⾏修改语句1:dateadd函数在向指定⽇期加上⼀段时间的基础上,返回新的 datetime 值:有个表D_data,其中有字段D_time,内容格式“1/18/2010 5:32:24 AM ”(国外的数据库)它记录了数据添加的时间,所以⽇期后⾯的时间是经常变动的。
现在我只想改变前⾯的⽇期,后⾯的时间不变。
例如,我想把id⼤于2000的数据⽇期改成5天前的语句:update D_data set D_time = dateadd(day,-5,D_time) where id > 2000update D_data set D_time = dateadd(dd,-5,D_time) where id > 2000update D_data set D_time =D_time -5 where id > 20002:DATEDIFF 函数:语法:DATEDIFF (datepart,startdate,enddate)--查询当天:select * from info where DateDiff(dd,datetime,getdate())=0--查询24⼩时内的:select * from info where DateDiff(hh,datetime,getDate())<=24--本⽉记录Select * FROM 表 Where datediff(month,[dateadd],getdate())=0--本周记录Select * FROM 表 Where datediff(week,[dateadd],getdate())=0(说明:info为表名,datetime为数据库中的字段值)3:SQL Server CONVERT() 函数定义和⽤法CONVERT() 函数是把⽇期转换为新数据类型的通⽤函数。
CONVERT() 函数可以⽤不同的格式显⽰⽇期/时间数据。
sql时间转换格式convert(varchar(10),字段名,转换格式)convert(varchar(10),字段名,转换格式)CONVERT(nvarchar(10),count_time,121) CONVERT为⽇期转换函数,⼀般就是在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar) 相互转换的时候才⽤到的函数的3个参数,第1个参数为,转换后的⼤⼩,第2个为转换⽇期的字段或函数,第3个为转换的格式.具体如下:0 | 0 or 100 | mon dd yyyy hh:miAM(或PM)1 | 101 | mm/dd/yy2 | 102 | yy-mm-dd3 | 103 | dd/mm/yy4 | 104 | dd-mm-yy5 | 105 | dd-mm-yy6 | 106 | dd mon yy7 | 107 | mon dd,yy8 | 108 | hh:mm:ss9 | 9 or 109 | mon dd yyyy hh:mi:ss:mmmmAM(或PM)10 | 110 | mm-dd-yy11 | 111 | yy/mm/dd12 | 112 | yymmdd13| 13 or 113 | dd mon yyyy hh:mi:ss:mmm(24⼩时制)14 | 114 | hh:mi:ss:mmm(24⼩时制)15 | 20 or 120 | yyyy-mm-dd hh:mi:ss(24⼩时制)16 | 21 or 121 | yyyy-mm-dd hh:mi:ss:mmm(24⼩时制)具体例⼦:(varchar长度可以控制所获取的数据长度,从⽽达到控制所需格式)SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2011 10:57AMSELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/11SELECT CONVERT(varchar(100), GETDATE(), 2): 11.05.16SELECT CONVERT(varchar(100), GETDATE(), 3): 16/05/11SELECT CONVERT(varchar(100), GETDATE(), 4): 16.05.11SELECT CONVERT(varchar(100), GETDATE(), 5): 16-05-11SELECT CONVERT(varchar(100), GETDATE(), 6): 16 05 11SELECT CONVERT(varchar(100), GETDATE(), 7): 05 16, 11SELECT CONVERT(varchar(100), GETDATE(), 8): 10:57:46SELECT CONVERT(varchar(100), GETDATE(), 9): 05 16 2011 10:57:46:827AMSELECT CONVERT(varchar(100), GETDATE(), 10): 05-16-11SELECT CONVERT(varchar(100), GETDATE(), 11): 11/05/16SELECT CONVERT(varchar(100), GETDATE(), 12): 110516SELECT CONVERT(varchar(100), GETDATE(), 13): 16 05 2011 10:57:46:937SELECT CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967SELECT CONVERT(varchar(100), GETDATE(), 20): 2011-05-16 10:57:47SELECT CONVERT(varchar(100), GETDATE(), 21): 2011-05-16 10:57:47.157SELECT CONVERT(varchar(100), GETDATE(), 22): 05/16/11 10:57:47 AMSELECT CONVERT(varchar(100), GETDATE(), 23): 2011-05-16SELECT CONVERT(varchar(100), GETDATE(), 24): 10:57:47SELECT CONVERT(varchar(100), GETDATE(), 25): 2011-05-16 10:57:47.250SELECT CONVERT(varchar(100), GETDATE(), 100): 05 16 2011 10:57AMSELECT CONVERT(varchar(100), GETDATE(), 101): 05/16/2011SELECT CONVERT(varchar(100), GETDATE(), 102): 2011.05.16SELECT CONVERT(varchar(100), GETDATE(), 103): 16/05/2011SELECT CONVERT(varchar(100), GETDATE(), 104): 16.05.2011SELECT CONVERT(varchar(100), GETDATE(), 105): 16-05-2011SELECT CONVERT(varchar(100), GETDATE(), 106): 16 05 2011SELECT CONVERT(varchar(100), GETDATE(), 107): 05 16, 2011SELECT CONVERT(varchar(100), GETDATE(), 108): 10:57:49SELECT CONVERT(varchar(100), GETDATE(), 109): 05 16 2011 10:57:49:437AM SELECT CONVERT(varchar(100), GETDATE(), 110): 05-16-2011SELECT CONVERT(varchar(100), GETDATE(), 111): 2011/05/16SELECT CONVERT(varchar(100), GETDATE(), 112): 20110516SELECT CONVERT(varchar(100), GETDATE(), 113): 16 05 2011 10:57:49:513SELECT CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547SELECT CONVERT(varchar(100), GETDATE(), 120): 2011-05-16 10:57:49SELECT CONVERT(varchar(100), GETDATE(), 121): 2011-05-16 10:57:49.700SELECT CONVERT(varchar(100), GETDATE(), 126): 2011-05-16T10:57:49.827SELECT CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM SELECT CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM常⽤:Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49Select CONVERT(varchar(100), GETDATE(), 12): 110516Select CONVERT(varchar(100), GETDATE(), 23): 2011-05-16---常⽤实例操作:⼀、sql server⽇期时间函数 Sql Server中的⽇期与时间函数1. 当前系统⽇期、时间例如:查找当前时间select getdate()2. dateadd 在向指定⽇期加上⼀段时间的基础上,返回新的 datetime 值例如:向⽇期加上2天select dateadd(day,2,'2010-10-15') --返回:2010-10-17 00:00:00.000以此类推:向⽇期倒推⼏天或⼏个⽉也是可以的。
sql语句如何查询当天,⼀周,⼀⽉的数据的语句--查询当天:select * from info where DateDiff(dd,datetime,getdate())=0--查询24⼩时内的:select * from info where DateDiff(hh,datetime,getDate())<=24--查询本周记录select * from info where datediff(week,datetime,getdate())=0--查询本⽉记录select * from info where datediff(month,datetime,getdate())=0--info为表名,datetime为数据库中的字段值,datetime为数据库时间的字段,getdate() 为系统时间,也就是说系统时间减去数据库时间得出的当天,⼀周,⼀⽉的数据DATEDIFF 函数语法:DATEDIFF ( datepart , startdate , enddate )备注:enddate 减去 startdate。
如果 startdate 晚于 enddate,则返回负值。
如果结果超出整数值范围,则 DATEDIFF 将产⽣错误。
对于毫秒,最⼤数是 24 天 20 ⼩时 31 分钟零 23.647 秒。
对于秒,最⼤数是 68年。
跨分钟、秒和毫秒等边界计算的⽅法使得 DATEDIFF 指定的结果在所有数据类型中均⼀致。
结果是带正负号的整数值,它等于跨第⼀个和第⼆个⽇期间的 datepart 边界数。
例如,在 1 ⽉ 4 ⽇(星期⽇)和 1 ⽉ 11 ⽇(星期⽇)之间的星期数是 1。
SQLServer⽇期时间格式转换字符串详解本⽂我们主要介绍了SQL Server⽇期时间格式转换字符串的相关知识,并给出了⼤量实例对其各个参数进⾏对⽐说明,希望能够对您有所帮助。
在SQL Server数据库中,SQL Server⽇期时间格式转换字符串可以改变SQL Server⽇期和时间的格式,是每个SQL数据库⽤户都应该掌握的。
本⽂我们主要就介绍⼀下SQL Server⽇期时间转字符串的相关知识,接下来就让我们⼀起来了解⼀下这部分内容。
⽇期时间转字符串:1. Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM2. Select CONVERT(varchar(100), GETDATE(), 1): 05/16/063. Select CONVERT(varchar(100), GETDATE(), 2): 06.05.164. Select CONVERT(varchar(100), GETDATE(), 3): 16/05/065. Select CONVERT(varchar(100), GETDATE(), 4): 16.05.066. Select CONVERT(varchar(100), GETDATE(), 5): 16-05-067. Select CONVERT(varchar(100), GETDATE(), 6): 16 05 068. Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 069. Select CONVERT(varchar(100), GETDATE(), 8): 10:57:4610. Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM11. Select CONVERT(varchar(100), GETDATE(), 10): 05-16-0612. Select CONVERT(varchar(100), GETDATE(), 11): 06/05/1613. Select CONVERT(varchar(100), GETDATE(), 12): 06051614. Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:93715. Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:96716. Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:4717. Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.15718. Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM19. Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-1620. Select CONVERT(varchar(100), GETDATE(), 24): 10:57:4721. Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.25022. Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM23. Select CONVERT(varchar(100), GETDATE(), 101): 05/16/200624. Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.1625. Select CONVERT(varchar(100), GETDATE(), 103): 16/05/200626. Select CONVERT(varchar(100), GETDATE(), 104): 16.05.200627. Select CONVERT(varchar(100), GETDATE(), 105): 16-05-200628. Select CONVERT(varchar(100), GETDATE(), 106): 16 05 200629. Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 200630. Select CONVERT(varchar(100), GETDATE(), 108): 10:57:4931. Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM32. Select CONVERT(varchar(100), GETDATE(), 110): 05-16-200633. Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/1634. Select CONVERT(varchar(100), GETDATE(), 112): 2006051635. Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:51336. Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:54737. Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:4938. Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.70039. Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.82740. Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM在SQL数据库中,有⼀类函数是不得不提的,那就是SQL Server⽇期时间函数,这是SQL Server处理⽇期和时间最常⽤的函数,下⾯就将为介绍这类函数。
SQL对DateTime(时间和⽇期)数据类型的基本操作(搜⾃⽹络,还给⽹络)⽇期和时间函数对建⽴⼀个站点是⾮常有⽤的。
站点的主⼈往往对⼀个表中的数据何时被更新感兴趣。
通过⽇期和时间函数,你可以在毫秒级跟踪⼀个表的改变。
返回当前⽇期和时间通过函数GETDATE(),你可以获得当前的⽇期和时间。
例如,语句SELECT GETDATE()返回如下的结果:……………………………NOV 30 1997 3:29AM(1 row(s) affected)显然,如果你将来使⽤这个函数,你得到的⽇期将⽐这个时间晚,或者更早。
函数GETDATE()可以⽤来作为DATEDIME()型字段的缺省值。
这对插⼊记录时保存当时的时间是有⽤的。
例如,假设有⼀个表⽤来保存你站点上的活动⽇志。
每当有⼀个访问者访问到你的站点时,就在表中添加⼀条新记录,记下访问者的名字,活动,和进⾏访问的时间。
要建⽴⼀个表,其中的记录包含有当前的⽇期和时间,可以添加⼀个DATETIME型字段,指定其缺省值为函数GETDATE()的返回值,就象这样:CREATE TABLE site_log (username VARCHAR(40),useractivity VARCHAR(100),entrydate DATETIME DEFAULT GETDATE())转换⽇期和时间你也许已经注意到,函数GETDATE()的返回值在显⽰时只显⽰到秒。
实际上,SQL Sever内部时间可以精确到毫秒级(确切地说,可以精确到3.33毫秒)。
要得到不同格式的⽇期和时间,你需要使⽤函数CONVERT()。
例如,当下⾯的这个语句执⾏时,显⽰的时间将包括毫秒:SELECT CONVERT(VARCHAR(30),GETDATE(),9)注意例⼦中数字9的使⽤。
这个数字指明了在显⽰⽇期和时间时使⽤哪种⽇期和时间格式。
当这个语句执⾏时,将显⽰如下的⽇期和时间:…………………………………..Nov 30 1997 3:29:55:170AM(1 row(s) affected)在函数CONVERT()中你可以使⽤许多种不同风格的⽇期和时间格式。
sql读取时间数据的语句在SQL中,读取时间数据是一项常见的操作。
下面列举了10个用于读取时间数据的SQL语句:1. SELECT NOW();这个语句可以用来获取当前的日期和时间。
NOW()函数返回当前日期和时间的值。
2. SELECT CURDATE();这个语句可以用来获取当前日期。
CURDATE()函数返回当前日期的值。
3. SELECT CURTIME();这个语句可以用来获取当前时间。
CURTIME()函数返回当前时间的值。
4. SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');这个语句可以用来获取当前日期和时间,并将其格式化为指定的字符串。
DATE_FORMAT函数可以将日期和时间按照指定的格式输出。
5. SELECT DATE_ADD(NOW(), INTERVAL 1 DAY);这个语句可以用来获取当前日期加上一天的日期。
DATE_ADD函数可以对日期进行加减运算。
6. SELECT DATE_SUB(NOW(), INTERVAL 1 HOUR);这个语句可以用来获取当前时间减去一小时的时间。
DATE_SUB函数可以对时间进行加减运算。
7. SELECT DAY(NOW());这个语句可以用来获取当前日期的天数。
DAY函数返回日期中的天数。
8. SELECT MONTH(NOW());这个语句可以用来获取当前日期的月份。
MONTH函数返回日期中的月份。
9. SELECT YEAR(NOW());这个语句可以用来获取当前日期的年份。
YEAR函数返回日期中的年份。
10. SELECT HOUR(NOW());这个语句可以用来获取当前时间的小时数。
HOUR函数返回时间中的小时数。
这些SQL语句可以帮助你读取时间数据并进行各种操作。
你可以根据具体的需求选择合适的语句来使用。
使用这些语句可以方便地获取当前的日期和时间,对日期和时间进行计算和格式化。
SQL Server GETDATE() 参数1. 简介在 SQL Server 中,GETDATE() 是一个内置的函数,用于获取当前系统的日期和时间。
这个函数可以用于各种场景,如插入当前时间戳、计算时间间隔、过滤数据等。
GETDATE() 函数返回一个 datetime 数据类型的值,包含当前日期和时间的信息。
2. 语法GETDATE() 函数的语法如下:GETDATE()3. 使用示例下面是一些使用 GETDATE() 函数的示例:3.1 插入当前时间戳使用 GETDATE() 函数可以方便地插入当前的时间戳。
例如,我们可以在插入一条记录时,将当前时间戳保存到数据库中:INSERT INTO MyTable (ColumnName, CreatedAt) VALUES ('Value', GETDATE())在上面的示例中,CreatedAt列将保存当前的日期和时间。
3.2 计算时间间隔GETDATE() 函数还可以用于计算时间间隔。
例如,我们可以使用 GETDATE() 函数获取当前时间,然后与另一个时间进行计算,得到它们之间的时间间隔:DECLARE @StartTime DATETIMEDECLARE @EndTime DATETIMESET @StartTime = GETDATE()-- 执行一些操作SET @EndTime = GETDATE()SELECT DATEDIFF(MINUTE, @StartTime, @EndTime) AS TimeElapsed在上面的示例中,我们使用 DATEDIFF 函数计算了@StartTime和@EndTime之间的分钟数。
3.3 过滤数据GETDATE() 函数还可以用于过滤数据。
例如,我们可以使用 GETDATE() 函数来获取当前日期,然后查询所有在当前日期之后的记录:SELECT * FROM MyTable WHERE DateColumn > GETDATE()在上面的示例中,我们查询了MyTable表中DateColumn列大于当前日期的所有记录。
sqlserver getdate 参数摘要:1.SQL Server 简介2.GETDATE() 函数的作用3.GETDATE() 函数的参数4.GETDATE() 函数在SQL Server 中的使用示例5.GETDATE() 函数在日期和时间计算中的应用6.总结正文:SQL Server 是Microsoft 开发的一款关系数据库管理系统,广泛应用于各种企业和组织的数据存储和管理。
在SQL Server 中,GETDATE() 函数是一个非常实用的函数,用于获取当前系统日期和时间。
GETDATE() 函数的参数是一个可选参数,它允许你指定日期和时间的格式。
如果不提供参数,GETDATE() 函数将返回一个默认格式的时间戳,例如:2022-06-23 14:30:00。
如果你提供了参数,GETDATE() 函数将按照指定的格式返回日期和时间。
以下是GETDATE() 函数在SQL Server 中的使用示例:```sql-- 获取当前系统日期和时间SELECT GETDATE();-- 获取当前系统日期和时间,格式为:YYYY-MM-DD HH:MI:SSSELECT GETDATE("YYYY-MM-DD HH:MI:SS");-- 获取当前系统日期和时间,格式为:MM/DD/YYYY HH:MI:SS AM SELECT GETDATE("MM/DD/YYYY HH:MI:SS AM");```GETDATE() 函数在日期和时间计算中的应用非常广泛。
例如,你可以使用GETDATE() 函数来计算两个日期之间的天数、小时数等。
以下是一个计算两个日期之间天数的示例:```sql-- 计算两个日期之间的天数DECLARE @date1 DATETIME, @date2 DATETIME;SET @date1 = "2022-01-01";SET @date2 = GETDATE();SELECT DATEDIFF(DAY, @date1, @date2) AS "天数";```总之,GETDATE() 函数是SQL Server 中一个非常实用的函数,可以用于获取当前系统日期和时间,以及在日期和时间计算中的应用。
sql中getdate()convert的使⽤1,sql中getdate()函数的使⽤: getdate()函数从SQL Server中返回当前的时间和⽇期,如:1 insert into T3(ID,AddTime) values(2,GETDATE())将把当前的时间插⼊到AddTime列中。
或者是,在创建表格的时候,可以指定AddTime列的默认值为getdate(),如图:sql语句如下:1 insert into T3(ID) values(3)结果:2,sql中convert转换函数的使⽤详细的⽂档可参考:convert函数⽤于时间格式与字符串格式的相互转化。
如:将字符串转化为时间:1 insert into T3(ID,AddTime) values(7,convert(datetime,'2015-6-19',20))执⾏结果:如:将时间转换为字符串:1select convert(varchar(10),AddTime,20) as AddTime from T3 where ID=7执⾏结果:其中可以注意到varchar取10位,也就是截取AddTime的前⼗位字符。
为什么要使⽤convert: 通过使⽤convert⽅法可以将数据表格中的内容按照天、⽉、年等来进⾏分组,以统计不同⽇⽉年的数据的变化情况。
如存在表格,共有3⾏数据,如图: 按照⽇来进⾏分组,统计不同⽇的记录条数,sql语句如下:1select count(id) as num,CONVERT(varchar(10),AddTime,20) as day from T2 group by CONVERT(varchar(10),AddTime,20)检索结果如下:。
sql getdate 用法SQL GetDate 用法1. 获取当前日期和时间使用GetDate函数可以获取当前数据库服务器的日期和时间。
2. 获取当前日期如果只想获取当前日期而不需要时间,可以使用CAST函数将GetDate函数的结果转换成日期类型。
3. 获取当前时间如果只想获取当前时间而不需要日期,可以使用CAST函数将GetDate函数的结果转换成时间类型。
4. 获取年份使用DATEPART函数结合GetDate函数可以获取当前年份。
5. 获取月份使用DATEPART函数结合GetDate函数可以获取当前月份。
6. 获取天数使用DATEPART函数结合GetDate函数可以获取当前日期的天数。
7. 获取小时使用DATEPART函数结合GetDate函数可以获取当前时间的小时数。
8. 获取分钟使用DATEPART函数结合GetDate函数可以获取当前时间的分钟数。
9. 获取秒数使用DATEPART函数结合GetDate函数可以获取当前时间的秒数。
10. 获取周几使用DATEPART函数结合GetDate函数可以获取当前日期是一周中的第几天。
11. 添加日期时间间隔使用DATEADD函数可以在当前日期和时间上添加指定的日期时间间隔。
12. 比较日期和时间可以使用GetDate函数获取当前日期和时间,然后将其与其他日期或时间进行比较。
13. 条件查询可以将GetDate函数的结果与其他列进行比较,从而实现条件查询功能。
14. 插入当前日期和时间可以使用GetDate函数将当前日期和时间插入到数据库表中的对应列中。
15. 更新当前日期和时间可以使用GetDate函数更新数据库表中的日期和时间列,将其更新为当前日期和时间。
16. 计算日期差使用DATEDIFF函数可以计算两个日期之间的天数、小时数、分钟数、秒数等差值。
17. 获取某个日期的开始和结束时间使用DATEADD和DATEPART函数结合GetDate函数可以获取某个日期的开始时间和结束时间。
sql语句如何获得当前⽇期当做到报表的时候需要sql获得当前⽇期?怎么获得?看⼀下getdate()函数declare @DateNow nvarchar(10)set @DateNow=CONVERT(varchar(100), GETDATE(), 111)select @DateNow这样就可以获得当前⽇期了,那么后⾯那个111是什么意思呢?它是转换格式⽤的SQL Server中getdate()函数的时间格式设置Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(), 1): 05/16/06Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AMSelect CONVERT(varchar(100), GETDATE(), 10): 05-16-06Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16Select CONVERT(varchar(100), GETDATE(), 12): 060516Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AMSelect CONVERT(varchar(100), GETDATE(), 23): 2006-05-16Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(), 101): 05/16/2006Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AMSelect CONVERT(varchar(100), GETDATE(), 110): 05-16-2006Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16Select CONVERT(varchar(100), GETDATE(), 112): 20060516Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827查询今天是今年的第⼏天: select datepart(dayofyear,getDate())查询今天是本⽉的第⼏天:1. select datepart(dd, getDate())2.select day(getDate())查询本周的星期⼀⽇期是多少(注意:指定⽇期不能是周⽇,如果是周⽇会计算到下周⼀去。
与时间相关的SQL语句sql获取当前时间sql时间⽐较sql时间格式化1. 当前系统⽇期、时间select getdate()2. dateadd 在向指定⽇期加上⼀段时间的基础上,返回新的 datetime 值例如:向⽇期加上2天select dateadd(day,2,'2004-10-15') --返回:2004-10-1700:00:00.0003. datediff 返回跨两个指定⽇期的⽇期和时间边界数。
select datediff(day,'2004-09-01','2004-09-18') --返回:174. datepart 返回代表指定⽇期的指定⽇期部分的整数。
SELECT DATEPART(month, '2004-10-15') --返回 105. datename 返回代表指定⽇期的指定⽇期部分的字符串SELECT datename(weekday, '2004-10-15') --返回:星期五6. day(), month(),year() --可以与datepart对照⼀下select 当前⽇期=convert(varchar(10),getdate(),120),当前时间=convert(varchar(8),getdate(),114)7. select datename(dw,'2004-10-15')select 本年第多少周=datename(week,getdate()),今天是周⼏=datename(weekday,getdate())函数参数/功能GetDate( ) --返回系统⽬前的⽇期与时间DateDiff (interval,date1,date2) --以interval 指定的⽅式,返回date2 与date1两个⽇期之间的差值 date2-date1DateAdd (interval,number,date) --以interval指定的⽅式,加上number之后的⽇期DatePart (interval,date) ---返回⽇期date中,interval指定部分所对应的整数值DateName (interval,date) --返回⽇期date中,interval指定部分所对应的字符串名称参数 interval的设定值如下:值缩写(Sql Server) Access 和 ASP 说明Year Yy yyyy 年 1753 ~ 9999Quarter Qq q 季 1 ~ 4Month Mm m ⽉1 ~ 12Day of year Dy y ⼀年的⽇数,⼀年中的第⼏⽇ 1-366Day Dd d ⽇,1-31Weekday Dw w ⼀周的⽇数,⼀周中的第⼏⽇ 1-7Week Wk ww 周,⼀年中的第⼏周 0 ~ 51Hour Hh h 时0 ~ 23Minute Mi n 分钟0 ~ 59Second Ss s 秒 0 ~ 59Millisecond Ms - 毫秒 0 ~ 999access 和 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 DATEPART() 函数返回 SQLServer datetime 字段的⼀部分。
SQLSERVER常⽤⽇期转换函数常⽤⽇期转换常⽤⽇期函数1. CONVERT⽇期格式轉換(年⽉⽇时分秒毫秒):SELECT CONVERT(VARCHAR(100), GETDATE(), 120); --【120】2011-03-15 10:55:57(yyyy-MM-dd HH:mm:ss)SELECT CONVERT(VARCHAR(100), GETDATE(), 23); --【23】2020-09-29,【102】2020.09.29,【111】2020/09/29,【112】20200929 SELECT CONVERT(VARCHAR(100), GETDATE(), 24); --【24】11:46:53SELECT DATEDIFF(DAY, '2020-01-01', '2020-02-02') AS'間隔時間(天數)'; --31 获取两个⽇期之间的间隔(天數)SELECT GETDATE() AS'东⼋区时间', GETUTCDATE() AS'UTC时间'; --获取UTC时间(UTC時間⽐東⼋區時間早8⼩時)2. FORMAT⽇期格式轉換(年⽉⽇时分秒毫秒):DECLARE@DATE DATETIME=GETDATE();SELECT FORMAT(@DATE, 'D', 'EN-US') AS'US ENGLISH RESULT',FORMAT(@DATE, 'D', 'ZH-CN') AS'SIMPLIFIED CHINESE (PRC) RESULT',FORMAT(@DATE, 'yyyy-MM-dd') AS当前⽇期, --注意yyyy-MM-dd⼤⼩写FORMAT(@DATE, 'yyyy-MM-dd HH:mm:ss') AS当前时间, --注意MM或者dd单双的区别FORMAT(@DATE, 'yyyy-MM-dd HH:mm:ss.fff') AS当前时间,FORMAT(@DATE, 'yyyyMMddHHmmss') AS当前时间,FORMAT(@DATE, 'yyyyMMddHHmmssfff') AS当前时间,FORMAT(@DATE, 'yyyy年MM⽉dd⽇ HH时mm分ss秒') AS中⽂时间;3. 截取⽇期--截取⽇期:截取年、截取⽉、截取⽇、截取⼩时、截取分钟SELECT YEAR(GETDATE()) AS YEAR,MONTH(GETDATE()) AS MONTH,DAY(GETDATE()) AS DAY; --2011 3 15SELECT DATEPART(YEAR, GETDATE()) AS YEAR, -- 年 2018DATEPART(MONTH, GETDATE()) AS MONTH, -- ⽉ 12DATEPART(DAY, GETDATE()) AS DAY, -- ⽇ 1DATEPART(HOUR, GETDATE()) AS HOUR, -- 时 21DATEPART(MINUTE, GETDATE()) AS MINUTE, -- 分 02DATEPART(SECOND, GETDATE()) AS SECOND; -- 秒 33SELECT DATEFROMPARTS(2020, 12, 20) AS DATEVALUE; --2020-12-204. 周相关⽇期SELECT DATEADD(WK, DATEDIFF(WK, 0, GETDATE()), 0) AS星期⼀;--获取本周周⼀的⽇期SELECT DATEADD(WK, DATEDIFF(WK, 0, GETDATE()), 1) AS星期⼆;--获取本周周⼆的⽇期SELECT DATEADD(WK, DATEDIFF(WK, 0, GETDATE()), 6) AS星期⽇;--获取本周周⽇的⽇期5. 本相关⽇期--本⽉第⼀天、最后⼀天、下个⽉最后⼀天 EOMONTH 语法SELECT EOMONTH(GETDATE(), -1) AS'上⼀⽉最后⼀天',DATEADD(DAY, 1, EOMONTH(GETDATE(), -1)) AS'本⽉第⼀天',EOMONTH(GETDATE(), 0) AS'本⽉最后⼀天',EOMONTH(GETDATE(), 1) AS'下⼀⽉最后⼀天',EOMONTH(GETDATE(), 2) AS'下两⽉最后⼀天';--本⽉第⼀天SELECT DATEADD(MM, DATEDIFF(MM, 0, GETDATE()), 0)SELECT CONVERT(DATETIME, CONVERT(CHAR(6), GETDATE(), 112) +'01')SELECT CONVERT(VARCHAR(7), GETDATE(), 120) +'-01'; --2011-04-01--本⽉最后⼀天SELECT DATEADD(MS, -3, DATEADD(MM, DATEDIFF(M, 0, GETDATE()) +1, 0));SELECT DATEADD(DAY, -1, CONVERT(CHAR(6), DATEADD(MONTH, 1, GETDATE()), 112) +'01');SELECT CONVERT(VARCHAR(10), DATEADD(DAY, -1, CONVERT(CHAR(7), DATEADD(MONTH, 1, GETDATE()), 120) +'-01'), 120); --2011-04-30 --上⽉的最后⼀天SELECT DATEADD(MS, -3, DATEADD(MM, DATEDIFF(MM, 0, GETDATE()), 0));--本⽉的第⼀个星期⼀SELECT DATEADD (WK , DATEDIFF ( WK ,0 , DATEADD( DD , 6-DATEPART(DAY ,GETDATE ()), GETDATE()) ), 0)6. 季/年相关⽇期--季度第⼀天和最后⼀天SELECT DATEADD(QQ, DATEDIFF(QQ, 0, GETDATE()), 0);--获得当前是第⼏季度SELECT DATEPART (QUARTER ,GETDATE())--年第⼀天和最后⼀天SELECT DATEADD(YY, DATEDIFF(YY, 0, GETDATE()), 0);SELECT CONVERT (DATETIME ,CONVERT( CHAR( 4 ),GETDATE (), 120)+'0101' ) SELECT CONVERT (DATETIME ,CONVERT( CHAR( 4 ),GETDATE (), 120)+'1231' ) SELECT DATEADD(MS, -3, DATEADD(YY, DATEDIFF(YY, 0, GETDATE()) +1, 0)); --去年的最后⼀天SELECT DATEADD(MS, -3, DATEADD(YY, DATEDIFF(YY, 0, GETDATE()), 0));。
Sql日期时间格式转换Sql日期时间格式转换日期数据格式的处理,两个示例:CONVERT(varchar(16), 时间一, 20) 结果:2007-02-01 08:02/*时间一般为getdate()函数或数据表里的字段*/CONVERT(varchar(10), 时间一, 23) 结果:2007-02-01 /*varchar(10)表示日期输出的格式,如果不够长会发生截取*/语句及查询结果:Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDA TE(), 1): 05/16/06Select CONVERT(varchar(100), GETDA TE(), 2): 06.05.16Select CONVERT(varchar(100), GETDA TE(), 3): 16/05/06Select CONVERT(varchar(100), GETDA TE(), 4): 16.05.06Select CONVERT(varchar(100), GETDA TE(), 5): 16-05-06Select CONVERT(varchar(100), GETDA TE(), 6): 16 05 06Select CONVERT(varchar(100), GETDA TE(), 7): 05 16, 06Select CONVERT(varchar(100), GETDA TE(), 8): 10:57:46Select CONVERT(varchar(100), GETDA TE(), 9): 05 16 2006 10:57:46:827AMSelect CONVERT(varchar(100), GETDA TE(), 10): 05-16-06Select CONVERT(varchar(100), GETDA TE(), 11): 06/05/16Select CONVERT(varchar(100), GETDA TE(), 12): 060516Select CONVERT(varchar(100), GETDA TE(), 13): 16 05 2006 10:57:46:937Select CONVERT(varchar(100), GETDA TE(), 14): 10:57:46:967Select CONVERT(varchar(100), GETDA TE(), 20): 2006-05-16 10:57:47Select CONVERT(varchar(100), GETDA TE(), 21): 2006-05-16 10:57:47.157Select CONVERT(varchar(100), GETDA TE(), 22): 05/16/06 10:57:47 AMSelect CONVERT(varchar(100), GETDA TE(), 23): 2006-05-16Select CONVERT(varchar(100), GETDA TE(), 24): 10:57:47Select CONVERT(varchar(100), GETDA TE(), 25): 2006-05-16 10:57:47.250Select CONVERT(varchar(100), GETDA TE(), 100): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDA TE(), 101): 05/16/2006Select CONVERT(varchar(100), GETDA TE(), 102): 2006.05.16Select CONVERT(varchar(100), GETDA TE(), 103): 16/05/2006Select CONVERT(varchar(100), GETDA TE(), 104): 16.05.2006Select CONVERT(varchar(100), GETDA TE(), 105): 16-05-2006Select CONVERT(varchar(100), GETDA TE(), 106): 16 05 2006Select CONVERT(varchar(100), GETDA TE(), 107): 05 16, 2006Select CONVERT(varchar(100), GETDA TE(), 108): 10:57:49Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AMSelect CONVERT(varchar(100), GETDA TE(), 110): 05-16-2006Select CONVERT(varchar(100), GETDA TE(), 111): 2006/05/16Select CONVERT(varchar(100), GETDA TE(), 112): 20060516Select CONVERT(varchar(100), GETDA TE(), 113): 16 05 2006 10:57:49:513Select CONVERT(varchar(100), GETDA TE(), 114): 10:57:49:547Select CONVERT(varchar(100), GETDA TE(), 120): 2006-05-16 10:57:49Select CONVERT(varchar(100), GETDA TE(), 121): 2006-05-16 10:57:49.700Select CONVERT(varchar(100), GETDA TE(), 126): 2006-05-16T10:57:49.827Select CONVERT(varchar(100), GETDA TE(), 130): 18 ???? ?????? 1427 10:57:49:907AM Select CONVERT(varchar(100), GETDA TE(), 131): 18/04/1427 10:57:49:920AM说明:使用CONVERT:CONVERT ( data_type [ ( length ) ] , expression [ , style ] )参数expression是任何有效的Microsoft® SQL Server™ 表达式。
SQLServer⽇期函数及⽇期转换数据类型⼀、统计语句1、--统计当前【>当天00点以后的数据】SELECT * FROM 表 WHERE CONVERT(Nvarchar, dateandtime, 111) = CONVERT(Nvarchar, GETDATE(), 111) ORDER BY dateandtime DESC2、--统计本周SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=03、--统计本⽉SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())=04、统计当前SELECT * FROM 表 WHERE datediff(day,[dateadd],getdate())=0Select * From table with(nolock) Where Convert(varchar(10),[CreateTime],120) = Convert(varchar(10),getDate(),120)⼆、时间函数1、当前系统⽇期、时间select getdate()2、dateadd 在向指定⽇期加上⼀段时间的基础上,返回新的 datetime 值,例如:向⽇期加上2天select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.0003、datediff 返回跨两个指定⽇期的⽇期和时间边界数select datediff(day,'2004-09-01','2004-09-18') --返回:174、datepart 返回代表指定⽇期的指定⽇期部分的整数SELECT DATEPART(month, '2004-10-15') --返回 105、datename 返回代表指定⽇期的指定⽇期部分的字符串SELECT datename(weekday, '2004-10-15') --返回:星期五6、day(), month(),year() --可以与datepart对照⼀下select 当前⽇期=convert(varchar(10),getdate(),120),select 当前时间=convert(varchar(8),getdate(),114),select datename(dw,'2004-10-15')select 本年第多少周=datename(week,'2004-10-15'),select 今天是周⼏=datename(weekday,'2004-10-15')7、求相差天数select datediff(day,'2004-01-01',getdate())8、⼀个⽉第⼀天的SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)9、本周的星期⼀SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)select dateadd(wk,datediff(wk,0,getdate()),6)10、⼀年的第⼀天SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)11、季度的第⼀天SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)12、当天的半夜SELECT DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)13、上个⽉的最后⼀天SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))14、去年的最后⼀天SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))15、本⽉的最后⼀天SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))16、本年的最后⼀天SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))17、本⽉的第⼀个星期⼀select DATEADD(wk, DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())), 0) 18、查询本周注册⼈数select count(*) from [user]where datediff(week,create_day-1,getdate())=019、上周注册⼈数select count(*) from [user]where datediff(week,create_day-1,getdate())=120、本⽉注册⼈数select count(*) from [user]where datediff(month,create_day,getdate())=021、上⽉注册⼈数select count(*) from [user]where datediff(month,create_day,getdate())=1如果要效率,⽤⼀下⽅式22、查询本周注册⼈数select count(*) from [user]where create_day>=dateadd(day,2-datepart(weekday,getdate()),convert(varchar,getdate(),112)) and create_day<dateadd(day,9-datepart(weekday,getdate()),convert(varchar,getdate(),112)) 23、上周注册⼈数select count(*) from [user]where create_day>=dateadd(day,-5-datepart(weekday,getdate()),convert(varchar,getdate(),112)) and create_day<dateadd(day,2-datepart(weekday,getdate()),convert(varchar,getdate(),112)) 24、本⽉注册⼈数select count(*) from [user]where create_day>=dateadd(day,1-day(getdate()),convert(varchar,getdate(),112))and create_day<dateadd(month,1,dateadd(day,1-day(getdate()),convert(varchar,getdate(),112))) 25、上⽉注册⼈数select count(*) from [user]where create_day>=dateadd(month,-1,dateadd(day,1-day(getdate()),convert(varchar,getdate(),112))) and create_day<dateadd(day,1-day(getdate()),convert(varchar,getdate(),112))26、本周select count(*) from Userwhere datediff(dd,create_day,getdate()) <= datepart(dw,getdate())27、上周select count(*) from Userwhere datediff(dd,create_day,(getdate() - datepart(dw,getdate()))) <= 728、本⽉select count(*) from Userwhere datepart(mm,create_day) = datepart(mm,getdate())29、上⽉select count(*) from Userwhere datepart(mm,create_day) = datepart(mm,getdate()) - 130、本周注册⼈数select count(*) from [User]where datediff(dd,create_day,getdate()) <= datepart(dw,getdate())31、上周注册⼈数select count(*) from [User]where datediff(dd,create_day,(getdate() - datepart(dw,getdate()))) <= 732、本⽉注册⼈数select count(*) from [User]where datepart(mm,create_day) = datepart(mm,getdate())33、上⽉注册⼈数select count(*) from [User]where datepart(mm,create_day) = datepart(mm,getdate()) - 134、查询今⽇所有SELECT * from feedback WHERE (DATEDIFF(d,fedtime,GETDATE())=0) ORDER BY fedid DESC month(create_day)=month(getdate())本⽉month(create_day)=month(getdate())-1 上⽉今天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=0昨天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=17天内的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())<=730天内的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())<=30本⽉的所有数据:select * from 表名 where DateDiff(mm,datetime类型字段,getdate())=0本年的所有数据:select * from 表名 where DateDiff(yy,datetime类型字段,getdate())=0系统函数:系统函数函数参数/功能GetDate( )返回系统⽬前的⽇期与时间DateDiff (interval,date1,date2)以interval 指定的⽅式,返回date2 与date1两个⽇期之间的差值 date2-date1DateAdd (interval,number,date)以interval指定的⽅式,加上number之后的⽇期DatePart (interval,date)返回⽇期date中,interval指定部分所对应的整数值DateName (interval,date)返回⽇期date中,interval指定部分所对应的字符串名称参数 interval的设定值:值缩写(Sql Server)Access 和 ASP说明Year Yy yyyy年 1753 ~ 9999Quarter Qq q季 1 ~ 4Month Mm m⽉1 ~ 12Day of yearDy y⼀年的⽇数,⼀年中的第⼏⽇ 1-366Day Dd d⽇,1-31Weekday Dw w⼀周的⽇数,⼀周中的第⼏⽇ 1-7Week Wk ww周,⼀年中的第⼏周 0 ~ 51Hour Hh h时0 ~ 23Minute Mi n分钟0 ~ 59Second Ss s秒 0 ~ 59Millisecond Ms-毫秒 0 ~ 999access 和 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 取当天或当⽉的记录表中的时间格式是这样的:2007-02-02 16:50:08.050, 如果直接和当天的时间⽐较,就总得不到准确数据,但是我们可以把这种格式的时间[格式化]成 2007-02-02,也就是只有年-⽉-⽇,然后把当天的时间也格式化成年-⽉-⽇的格式.这样,思路就出来了!我们格式化⽇期要⽤到 Convert()这个函数,要⽤到3个参数,⾸先来格式化当天的⽇期,Convert(varchar(10),getDate(),120)这样我们就可以把当天的⽇期格式化为: 2007-2-2,然后格式化数据库表中的⽇期Convert(varchar(10),TimeFiled,120),最后我们就可以⽤⼀条Sql语句得到当天的数据了.例如:转⾃⽹络程序代码Select * From VIEW_CountBill Where Convert(varchar(10),[time],120) = Convert(varchar(10),getDate(),120)注意:Convert()函数中的各个参数的意义,第⼀个参数,varchar(10)是⽬标系统所提供的数据类型,包括 bigint 和 sql_variant。
getDate()显示格式转与时间相关的SQL语句sql获取当前时间Select CONVERT(varchar(100), GETDATE(), 0)--:05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(), 1)--:05/16/06 Select CONVERT(varchar(100), GETDATE(), 2)--:06.05.16 Select CONVERT(varchar(100), GETDATE(), 3)--:16/05/06 Select CONVERT(varchar(100), GETDATE(), 4)--:16.05.06 Select CONVERT(varchar(100), GETDATE(), 5)--:16-05-06 Select CONVERT(varchar(100), GETDATE(), 6)--:16 05 06 Select CONVERT(varchar(100), GETDATE(), 7)--:05 16, 06 Select CONVERT(varchar(100), GETDATE(), 8)--:10:57:46 Select CONVERT(varchar(100), GETDATE(), 9)--:05 16 2006 10:57:46:827AMSelect CONVERT(varchar(100), GETDATE(), 10)--:05-16-06 Select CONVERT(varchar(100), GETDATE(), 11)--:06/05/16 Select CONVERT(varchar(100), GETDATE(), 12)--:060516 Select CONVERT(varchar(100), GETDATE(), 13)--:16 05 2006 10:57:46:937Select CONVERT(varchar(100), GETDATE(),14)--:10:57:46:967Select CONVERT(varchar(100), GETDATE(),20)--:2006-05-16 10:57:47Select CONVERT(varchar(100), GETDATE(),21)--:2006-05-16 10:57:47.157Select CONVERT(varchar(100), GETDATE(), 22)--:05/16/06 10:57:47 AMSelect CONVERT(varchar(100), GETDATE(),23)--:2006-05-16Select CONVERT(varchar(100), GETDATE(), 24)--:10:57:47 Select CONVERT(varchar(100), GETDATE(),25)--:2006-05-16 10:57:47.250Select CONVERT(varchar(100), GETDATE(), 100)--:05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(),101)--:05/16/2006Select CONVERT(varchar(100), GETDATE(),102)--:2006.05.16Select CONVERT(varchar(100), GETDATE(),103)--:16/05/2006Select CONVERT(varchar(100), GETDATE(),104)--:16.05.2006Select CONVERT(varchar(100), GETDATE(),105)--:16-05-2006Select CONVERT(varchar(100), GETDATE(), 106)--:16 05 2006Select CONVERT(varchar(100), GETDATE(), 107)--:05 16, 2006Select CONVERT(varchar(100), GETDATE(), 108)--:10:57:49 Select CONVERT(varchar(100), GETDATE(), 109)--:05 16 2006 10:57:49:437AMSelect CONVERT(varchar(100), GETDATE(),110)--:05-16-2006Select CONVERT(varchar(100), GETDATE(),111)--:2006/05/16Select CONVERT(varchar(100), GETDATE(), 112)--:20060516 Select CONVERT(varchar(100), GETDATE(), 113)--:16 05 2006 10:57:49:513Select CONVERT(varchar(100), GETDATE(),114)--:10:57:49:547Select CONVERT(varchar(100), GETDATE(),120)--:2006-05-16 10:57:49Select CONVERT(varchar(100), GETDATE(),121)--:2006-05-16 10:57:49.700Select CONVERT(varchar(100), GETDATE(),126)--:2006-05-16T10:57:49.827Select CONVERT(varchar(100), GETDATE(),130)--:18 ???? ?????? 1427 10:57:49:907AMSelect CONVERT(varchar(100), GETDATE(),131)--:18/04/1427 10:57:49:920AM与时间相关的SQL语句/sql获取当前时间/sql时间比较/sql 时间格式化2010年06月21日星期一下午03:541. 当前系统日期、时间select getdate()2. dateadd 在向指定日期加上一段时间的基础上,返回新的datetime 值例如:向日期加上2天select dateadd(day,2,'2004-10-15') --返回:2004-10-1700:00:00.0003. datediff 返回跨两个指定日期的日期和时间边界数。
select datediff(day,'2004-09-01','2004-09-18') --返回:174. datepart 返回代表指定日期的指定日期部分的整数。
SELECT DATEPART(month, '2004-10-15') --返回105. datename 返回代表指定日期的指定日期部分的字符串SELECT datename(weekday, '2004-10-15') --返回:星期五6. day(), month(),year() --可以与datepart对照一下select 当前日期=convert(varchar(10),getdate(),120),当前时间=convert(varchar(8),getdate(),114)7. select datename(dw,'2004-10-15')select 本年第多少周=datename(week,getdate()),今天是周几=datename(weekday,getdate())函数参数/功能GetDate( ) --返回系统目前的日期与时间DateDiff (interval,date1,date2) --以interval 指定的方式,返回date2 与date1两个日期之间的差值date2-date1DateAdd (interval,number,date) --以interval指定的方式,加上number之后的日期DatePart (interval,date) ---返回日期date中,interval指定部分所对应的整数值DateName (interval,date) --返回日期date中,interval指定部分所对应的字符串名称参数interval的设定值如下:值缩写(Sql Server)Access 和ASP 说明Year Yy yyyy 年1753 ~ 9999Quarter Qq q 季1 ~ 4Month Mm m 月1 ~ 12Day of year Dy y 一年的日数,一年中的第几日1-366Day Dd d 日,1-31Weekday Dw w 一周的日数,一周中的第几日1-7Week Wk ww 周,一年中的第几周0 ~ 51Hour Hh h 时0 ~ 23Minute Mi n 分钟0 ~ 59Second Ss s 秒0 ~ 59Millisecond Ms - 毫秒0 ~ 999access 和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 DATEPART() 函数返回SQLServer datetime 字段的一部分。