SQL Server 取日期时间格式 日期与字符串之间的转换
在本文中,GetDate()获得的日期由两部分组成,分别是今天的日期和当时的时间: Select GetDate() 用DateName()就可以获得相应的年、月、日,然后再把它们连接起来就可以了:
Select Datename(year,GetDate())+'-'+Datename (month,GetDate())+'-'+Datename(day,GetDate())
另外,DateName()还可以获得到小时、时间、秒、星期几、第几周,分别如下:
Select Datename(hour,GetDate()) Select Datename(minute,GetDate()) Select Datename(second,GetDate()) Select Datename(weekDay,GetDate()) Select Datename(week,GetDate())
SQL中的日期类型DateTime的默认格式就是yyyy-mm-dd hh:mi:ss: mmm,可大多数的情况我们只想得到他的日期部分,而不许要后面的时间。上一篇中提到用Datename()函数来截取拼接出不包含时间部分的日期,现在再说一种方法,更加简单的获取到不包含时间的日期!
使用Convert()函数:
select convert(char(10),GetDate(),120) as Date
* 第3个参数就是用来设置日期类型数据的显示样式的,下面介绍几种样式的参数:
100 mm dd yyyy
101 mm/dd/yyyy
102 yyyy.mm.dd
103 dd/mm/yyyy
106 dd mm yyyy
108 hh:mi:ss(时间)
111 yyyy/mm/dd
112 yyyymmdd
120 yyyy-mm-dd
- SELECT CONVERT(varchar(100), GETDATE(), 0) 05 9 2011 9:12AM
- SELECT CONVERT(varchar(100), GETDATE(), 1) 05/09/11
- SELECT CONVERT(varchar(100), GETDATE(), 2) 11.05.09
- SELECT CONVERT(varchar(100), GETDATE(), 3) 09/05/11
- SELECT CONVERT(varchar(100), GETDATE(), 4) 09.05.11
- SELECT CONVERT(varchar(100), GETDATE(), 5) 09-05-11
- SELECT CONVERT(varchar(100), GETDATE(), 6) 09 05 11
- SELECT CONVERT(varchar(100), GETDATE(), 7) 05 09, 11
- SELECT CONVERT(varchar(100), GETDATE(), 8) 09:13:14
- SELECT CONVERT(varchar(100), GETDATE(), 9) 05 9 2011 9:13:14:670AM
- SELECT CONVERT(varchar(100), GETDATE(), 10) 05-09-11
- SELECT CONVERT(varchar(100), GETDATE(), 11) 11/05/09
- SELECT CONVERT(varchar(100), GETDATE(), 12) 110509
- SELECT CONVERT(varchar(100), GETDATE(), 13) 09 05 2011 09:13:14:670
- SELECT CONVERT(varchar(100), GETDATE(), 14) 09:13:14:670
- SELECT CONVERT(varchar(100), GETDATE(), 20) 2011-05-09 09:13:14
- SELECT CONVERT(varchar(100), GETDATE(), 21) 2011-05-09 09:13:14.670
- SELECT CONVERT(varchar(100), GETDATE(), 22) 05/09/11 9:15:33 AM
- SELECT CONVERT(varchar(100), GETDATE(), 23) 2011-05-09
- SELECT CONVERT(varchar(100), GETDATE(), 24) 09:15:33
- SELECT CONVERT(varchar(100), GETDATE(), 25) 2011-05-09 09:15:33.140
- SELECT CONVERT(varchar(100), GETDATE(), 100) 05 9 2011 9:15AM
- SELECT CONVERT(varchar(100), GETDATE(), 101) 05/09/2011
- SELECT CONVERT(varchar(100), GETDATE(), 102) 2011.05.09
- SELECT CONVERT(varchar(100), GETDATE(), 103) 09/05/2011
- SELECT CONVERT(varchar(100), GETDATE(), 104) 09.05.2011
- SELECT CONVERT(varchar(100), GETDATE(), 105) 09-05-2011
- SELECT CONVERT(varchar(100), GETDATE(), 106) 09 05 2011
- SELECT CONVERT(varchar(100), GETDATE(), 107) 05 09, 2011
- SELECT CONVERT(varchar(100), GETDATE(), 108) 09:16:38
- SELECT CONVERT(varchar(100), GETDATE(), 109) 05 9 2011 9:16:38:543AM
- SELECT CONVERT(varchar(100), GETDATE(), 110) 05-09-2011
- SELECT CONVERT(varchar(100), GETDATE(), 111) 2011/05/09
- SELECT CONVERT(varchar(100), GETDATE(), 112) 20110509
- SELECT CONVERT(varchar(100), GETDATE(), 113) 09 05 2011 09:17:19:857
- SELECT CONVERT(varchar(100), GETDATE(), 114) 09:17:19:857
- SELECT CONVERT(varchar(100), GETDATE(), 120) 2011-05-09 09:17:19
- SELECT CONVERT(varchar(100), GETDATE(), 121) 2011-05-09 09:17:19.857
- SELECT CONVERT(varchar(100), GETDATE(), 126) 2011-05-09T09:17:19.857
- SELECT CONVERT(varchar(100), GETDATE(), 130) 6 ????? ??????? 1432 9:17:19:857AM
- SELECT CONVERT(varchar(100), GETDATE(), 131) 6/06/1432 9:17:19:857AM
字符转换为日期时,Style的使用
--1. Style=101时,表示日期字符串为:mm/dd/yyyy格式 SELECT CONVERT(datetime,'11/1/2003',101) --结果:2003-11-01 00:00:00.000
--2. Style=101时,表示日期字符串为:dd/mm/yyyy格式 SELECT CONVERT(datetime,'11/1/2003',103) --结果:2003-01-11 00:00:00.000
/*== 日期转换为字符串 ==*/ DECLARE @dt datetime SET @dt='2003-1-11'
--1. Style=101时,表示将日期转换为:mm/dd/yyyy 格式 SELECT CONVERT(varchar,@dt,101) --结果:01/11/2003
--2. Style=103时,表示将日期转换为:dd/mm/yyyy 格式 SELECT CONVERT(varchar,@dt,103) --结果:11/01/2003
/*== 这是很多人经常犯的错误,对非日期型转换使用日期的style样式 ==*/ SELECT CONVERT(varchar,'2003-1-11',101) --结果:2003-1-11
--1. /*--说明 SET DATEFORMAT设置对使用CONVERT把字符型日期转换为日期的处理也具有影响 但不影响明确指定了style的CONVERT处理。 --*/
--示例 ,在下面的示例中,第一个CONVERT转换未指定style,转换的结果受SET DATAFORMAT的影响,第二个CONVERT转换指定了style,转换结果受style的影响。 --设置输入日期顺序为 日/月/年 SET DATEFORMAT DMY
--不指定Style参数的CONVERT转换将受到SET DATEFORMAT的影响 SELECT CONVERT(datetime,'2-1-2005') --结果: 2005-01-02 00:00:00.000
--指定Style参数的CONVERT转换不受SET DATEFORMAT的影响 SELECT CONVERT(datetime,'2-1-2005',101) --结果: 2005-02-01 00:00:00.000 GO
--2. /*--说明
如果输入的日期包含了世纪部分,则对日期进行解释处理时 年份的解释不受SET DATEFORMAT设置的影响。 --*/
--示例,在下面的代码中,同样的SET DATEFORMAT设置,输入日期的世纪部分与不输入日期的世纪部分,解释的日期结果不同。 DECLARE @dt datetime
--设置SET DATEFORMAT为:月日年 SET DATEFORMAT MDY
--输入的日期中指定世纪部分 SET @dt='01-2002-03' SELECT @dt --结果: 2002-01-03 00:00:00.000
--输入的日期中不指定世纪部分 SET @dt='01-02-03' SELECT @dt --结果: 2003-01-02 00:00:00.000 GO
--3. /*--说明
如果输入的日期不包含日期分隔符,那么SQL Server在对日期进行解释时 将忽略SET DATEFORMAT的设置。 --*/
--示例,在下面的代码中,不包含日期分隔符的字符日期,在不同的SET DATEFORMAT设置下,其解释的结果是一样的。 DECLARE @dt datetime
--设置SET DATEFORMAT为:月日年 SET DATEFORMAT MDY SET @dt='010203' SELECT @dt --结果: 2001-02-03 00:00:00.000
--设置SET DATEFORMAT为:日月年 SET DATEFORMAT DMY SET @dt='010203' SELECT @dt --结果: 2001-02-03 00:00:00.000
--输入的日期中包含日期分隔符 SET @dt='01-02-03' SELECT @dt --结果: 2003-02-01 00:00:00.000
--以下示例演示了在不同的语言环境(SET LANGUAGE)下,DATENAME与CONVERT函数的不同结果。 USE master
--设置会话的语言环境为: English SET LANGUAGE N'English' SELECT DATENAME(Month,GETDATE()) AS [Month], DATENAME(Weekday,GETDATE()) AS [Weekday], CONVERT(varchar,GETDATE(),109) AS [CONVERT] /*--结果: Month Weekday CONVERT ------------- -------------- ------------------------------- March Tuesday Mar 15 2005 8:59PM --*/
--设置会话的语言环境为: 简体中文 SET LANGUAGE N'简体中文' SELECT DATENAME(Month,GETDATE()) AS [Month], DATENAME(Weekday,GETDATE()) AS [Weekday], CONVERT(varchar,GETDATE(),109) AS [CONVERT] /*--结果 Month Weekday CONVERT
SQL Server 取日期时间格式 日期与字符串之间的转换的更多相关文章
- SQl Server 函数篇 数学函数,字符串函数,转换函数,时间日期函数
数据库中的函数和c#中的函数很相似 按顺序来, 这里价格特别的 print 可以再消息栏里打印东西 数学函数 ceiling() 取上限 不在乎小数点后面有多大,直接忽略 floor() ...
- SQL Server日期与字符串之间的转换
本文导读:在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.下面主要就介绍一下SQL Serv ...
- SQL Server 取日期时间部分
在本文中,GetDate()获得的日期由两部分组成,分别是今天的日期和当时的时间: Select GetDate() 用DateName()就可以获得相应的年.月.日,然后再把它们连接起来就可以了: ...
- sql server获取时间格式
在本文中,GetDate()获得的日期由两部分组成,分别是今天的日期和当时的时间: Select GetDate() 用DateName()就可以获得相应的年.月.日,然后再把它们连接起来就可以了: ...
- sqlserver 日期与字符串之间的转换
字符转换为日期时,Style的使用 --1. Style=101时,表示日期字符串为:mm/dd/yyyy格式SELECT CONVERT(datetime,'11/1/2003',101)--结果: ...
- Python时间、日期、时间戳之间的转换
一.字符串与为时间字符串之间的互相转换 方法:time模块下的strptime方法 a = "2012-11-11 23:40:00" # 字符串转换为时间字符串 import t ...
- golang中字符串、数值、2进制、8进制、16进制、10进制、日期和字符串之间的转换
package main import ( "fmt" "reflect" "strconv" "time" ) fun ...
- python 日期与字符串之间的转换
1.str转换为datetime >>> from datetime import datetime >>> cday = datetime.strptime('2 ...
- sql server 分组查询结合日期模糊查询
分组查询: https://www.cnblogs.com/netserver/p/4518995.html 日期格式化格式: http://blog.csdn.net/qq_16769857/art ...
随机推荐
- 浅谈java线程池实现
再进入主题之前,我们先了解几个概念,对读源码有所帮助,对于线程池的运行状态,有4个级别,分别是RUNNING,SHUTING,STOP,TIDING,TERMINATED 解释如下: The runS ...
- vue实现商品购物车全选与全不选项目实战
项目需求: 实现一个购物车 全选框实现对商家和商品的全选 商家全选框实现对当前商家所有商品的全选 取消其中一个商品则取消对应商家全选和全选框 选中一个商家下的所有商品则勾选对应商家的全选框,不勾选全选 ...
- JQuery --- 第三期 (jQuery事件相关)
个人学习笔记 1.JQuery事件绑定 <!DOCTYPE html> <html lang="en"> <head> <meta cha ...
- Odoo 12 开发手册指南(八)—— 业务逻辑 – 业务流程的支持
在前面的文章中,我们学习了模型层.如何创建应用数据结构以及如何使用 ORM API 来存储查看数据.本文中我们将利用前面所学的模型和记录集知识实现应用中常用的业务逻辑模式. 本文的主要内容有: 以文件 ...
- 关于web资金系统提现安全保护,防止极快的重复并发请求导致重复提现的解决思路
关于WEB金融系统中的提现安全问题很多人没有深入思想,导致有漏洞,常常会遇到有些人遇到被攻击到导资金损失的麻烦, 其实要彻底解决重复并发请求 导致重复提现问题,是需要花点心思的,并没有看起来的 ...
- LeetCode算法题-Toeplitz Matrix(Java实现)
这是悦乐书的第312次更新,第333篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第181题(顺位题号是766).如果从左上角到右下角的每个对角线具有相同的元素,则矩阵是 ...
- 3星|路江涌《共演战略画布》:PPT技巧级别的创新,缺实际分析案例
作者用自己的思路综合现有各种战略思想,给出企业各阶段各要素的战略分析工具.主要是2*2矩阵和双S曲线两种工具. 从书中的插图来看,这些工具在PPT演示中效果应该会不错. 作者在书中用这些工具做的分析不 ...
- 信利SC123金融财务计算器评测——不错的HP 12C仿品
最近X宝48包邮购入信利SC123金融计算器,只是为了玩一玩(没错你的好友盗版狂魔又上线了),因为这是目前市面上能买到的最便宜的金融计算器了,也是能买到的最便宜的RPN计算器,顺手出个评测.这个计算器 ...
- WebDeploy to remote IIS
参考 Web Platform Installer Direct Downloads
- PHP全栈学习笔记6
php能做什么,它是运行在服务器端的,web网站大部分数据都是存储在服务器上的,PHP就是用来处理这些存储在服务器的数据.跨平台,服务器可以是多种平台上的服务器,脚本语言,免费. wampserver ...