当前位置: 首页 > 编程日记 > 正文

T-SQL Convert转换时间类型

关键字: sql 时间 转化

SQL中CONVERT转化函数的用法
格式:
CONVERT(data_type,expression[,style])

说明:
此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)
相互转换的时候才用到.

例子:
SELECT CONVERT(varchar(30),getdate(),101) now
结果为:
now
---------------------------------------
|09/15/2001

===================================================================

style数字在转换时间时的含义如下:

--------------------------------------------------------------------
Style(2位表示年份)   |  Style(4位表示年份)   |   输入输出格式                                   
---------------------------------------------------------------------
0                               | 100                           |   mon dd yyyy hh:miAM(或PM)             
---------------------------------------------------------------------
1                               |  101   美国                |   mm/dd/yy                                      
--------------------------------------------------------------------
2                               |  102    ANSI               |   yy-mm-dd                                       
--------------------------------------------------------------------
3                               |  103    英法                |   dd/mm/yy                                      
--------------------------------------------------------------------
4                               |  104    德国                |   dd.mm.yy                                       
--------------------------------------------------------------------
5                               |  105    意大利             |   dd-mm-yy                                       
---------------------------------------------------------------------
6                               |  106                            |   dd mon yy                                       
---------------------------------------------------------------------------
7                               |  107                            |   mon dd,yy                                       
------------------------------------------------------------------------------
8                               |  108                            |   hh:mm:ss                                        
-----------------------------------------------------------------------
9                               |  109                            |   mon dd yyyy hh:mi:ss:mmmmAM(或PM)
----------------------------------------------------------------------------
10                             |  110    美国                 |   mm-dd-yy                                        
-----------------------------------------------------------------------------
11                             |  111    日本                 |   yy/mm/dd                                       
-------------------------------------------------------------------------
12                             |  112    ISO                  |   yymmdd                                          
------------------------------------------------------------------------
13                             |  113     欧洲默认值     |   dd mon yyyy hh:mi:ss:mmm(24小时制) 
------------------------------------------------------------------------
14                             |  114                            |   hh:mi:ss:mmm(24小时制)                   
--------------------------------------------------------------------------
20                             |  120     ODBC 规范     |    yyyy-mm-dd hh:mi:ss(24小时制)        
-----------------------------------------------------------------------------
21                             |   121                           |    yyyy-mm-dd hh:mi:ss:mmm(24小时制)
-----------------------------------------------------------------------

语句及查询结果:
SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
SELECT 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(),: 10:57:46
SELECT CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
SELECT 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:937
SELECT CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
SELECT CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
SELECT CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
SELECT CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
SELECT CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
SELECT CONVERT(varchar(100), GETDATE(), 24): 10:57:47
SELECT CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
SELECT CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
SELECT CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
SELECT CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
SELECT CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
SELECT CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
SELECT CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
SELECT CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
SELECT CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
SELECT CONVERT(varchar(100), GETDATE(), 108): 10:57:49
SELECT CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
SELECT CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
SELECT CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
SELECT CONVERT(varchar(100), GETDATE(), 112): 20060516
SELECT CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
SELECT CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
SELECT CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
SELECT CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700
SELECT CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827
SELECT CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM
SELECT CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM

说明:
使用 CONVERT:

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

参数
expression

是任何有效的 Microsoft® SQL Server™ 表达式。。

data_type

目标系统所提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义的数据类型。
length

nchar、nvarchar、char、varchar、binary 或 varbinary 数据类型的可选参数。

style

日期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);或者字符串格式样式,借以将 float、real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。

SQL Server 支持使用科威特算法的阿拉伯样式中的数据格式。

在表中,左侧的两列表示将 datetime 或 smalldatetime 转换为字符数据的 style 值。给 style 值加 100,可获得包括世纪数位的四位年份 (yyyy)。

不带世纪数位 (yy) 带世纪数位 (yyyy)
标准
输入/输出**
- 0 或 100 (*)  默认值 mon dd yyyy hh:miAM(或 PM)
1 101 美国 mm/dd/yyyy
2 102 ANSI yy.mm.dd
3 103 英国/法国 dd/mm/yy
4 104 德国 dd.mm.yy
5 105 意大利 dd-mm-yy
6 106 - dd mon yy
7 107 - mon dd, yy
8 108 - hh:mm:ss
- 9 或 109 (*)  默认值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)
10 110 美国 mm-dd-yy
11 111 日本 yy/mm/dd
12 112 ISO yymmdd
- 13 或 113 (*)  欧洲默认值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 或 120 (*)  ODBC 规范 yyyy-mm-dd hh:mm:ss[.fff]
- 21 或 121 (*)  ODBC 规范(带毫秒) yyyy-mm-dd hh:mm:ss[.fff]
- 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss.mmm(不含空格)
- 130* Hijri**** dd mon yyyy hh:mi:ss:mmmAM
- 131* Hijri**** dd/mm/yy hh:mi:ss:mmmAM



*    默认值(style 0 或 100、9 或 109、13 或 113、20 或 120、21 或 121)始终返回世纪数位 (yyyy)。
** 当转换为 datetime时输入;当转换为字符数据时输出。
*** 专门用于 XML。对于从 datetime或 smalldatetime 到 character 数据的转换,输出格式如表中所示。对于从 float、money 或 smallmoney 到 character 数据的转换,输出等同于 style 2。对于从 real 到 character 数据的转换,输出等同于 style 1。
****Hijri 是具有几种变化形式的日历系统,Microsoft® SQL Server™ 2000 使用其中的科威特算法。


重要  默认情况下,SQL Server 根据截止年份 2049 解释两位数字的年份。即,两位数字的年份 49 被解释为 2049,而两位数字的年份 50 被解释为 1950。许多客户端应用程序(例如那些基于 OLE 自动化对象的客户端应用程序)都使用 2030 作为截止年份。SQL Server 提供一个配置选项("两位数字的截止年份"),借以更改 SQL Server 所使用的截止年份并对日期进行一致性处理。然而最安全的办法是指定四位数字年份。


当从 smalldatetime 转换为字符数据时,包含秒或毫秒的样式将在这些位置上显示零。当从 datetime 或 smalldatetime 值进行转换时,可以通过使用适当的 char 或 varchar 数据类型长度来截断不需要的日期部分。

转载于:https://www.cnblogs.com/michaelShao/archive/2010/01/12/1644590.html

相关文章:

解决Lodop 8443端口找不到CLodopfuncs.js文件问题

问题描述: GET https://localhost:8443/CLodopfuncs.js?nameCLODOP net::ERR_CERT_COMMON_NAME_INVALID 可能原因: https证书问题,通用名称不合法,地址栏访问https://localhost:8443,如下图所示 解决方法&#…

CString工作原理和常见问题分析

关于Cstring 类 版权所有©Stevencaobenq.com2003-11-6转自:http://blog.csdn.net/laiyiling/archive/2004/10/05/125216.aspx 看了很多人写的程序,包括我自己写的一些代码,发现很大的一部分bug是关于MFC类中的CString的错误用法的.出现这种错误的原…

javascript 学习三 语句

1、if 语句 if (condition){ do something else } condition 是条件语句,在这里,condition 可以是任意表达式,但结果不一定就是布尔值,但javascript 会调用 boolean() 来把结果转换成布尔值。 2、do-while …

新建本地仓库,同步远程仓场景,出现git branch --set-upstream-to=origin/master master 解决方法...

1.本地创建一个本地仓库 2.关联远程端:git remote add origin gitgithub.com:用户名/远程库名.git3.同步远程仓库到本地git pull这个时候会报错If you wish to set tracking information for this branch you can do so with:git branch --set-upstream-toorigin/<branch>…

Git npm相关命令

Git 相关命令查看用户名和密码配置用户名和密码查看git项目远程地址添加git远程仓库查看提交记录查看已有tag打标签在某次提交记录上打标签推送标签到远程推送单个指定tag到远程推送多个tag到远程2. npm相关命令2.1 设置npm源2.2 查看npm源2.3 npm清缓存查看用户名和密码 $ gi…

2009年上半年网络工程师考试下午试卷参考答案(一)

试题一&#xff08;15分&#xff09;  阅读以下说明&#xff0c;回答问题1至问题4&#xff0c;将解答填入答题纸对应的解答栏内。【说明】某公司有1个总部和2个分部&#xff0c;各个部门都有自己的局域网。该公司申请了4个C类IP地址块202.114.10.0/24~202.114.13.0/24。公司各…

创建Silverlight自定义启动画面

每一款商业的Silverlight项目&#xff0c;为了体现项目个性化&#xff0c;都会有不同的界面设计&#xff0c;项目UI设计的第一步就是创建个性的自定义启动画面&#xff0c;本文将介绍如何创建Silverlight自定义启动画面&#xff0c;也就是经常说的Splash Screen. Silverlight初…

params.success params.success(res.data)

params.success && params.success(res.data)只有success 为真&#xff0c;才执行后边的代码转载于:https://www.cnblogs.com/qq254980080/p/10619413.html

有关 drop delete truncate 问题

drop 可以删除数据库 数据表 数据表中字段 delete 删除数据表中的行 而不删除数据表 可以删除一行&#xff1a; Delete from 表 where 列名称值 或是多行&#xff1a; Delete from 表 truncate 删除数据表中数据 而不删除数据表&#xff1a; truncate table 表 三者的删除速度 …

IDEAWebstorm使用

IDEA&Webstorm使用小记录 插件 1. CodeGlance 在编辑器窗格中嵌入一个类似于Sublime中的代码小地图。使用自定义的颜色进行语法高亮&#xff0c;可以同时处理浅色和深色主题。 2. Free Mybatis plugin 3. MyBatis Log Plugin

如何用JNI技术提高Java的性能详解

阻碍Java获得广泛应用的一个主要因素是Java程序的运行效率。Java是介于解释型和编译型之间的一种语言&#xff0c;同样的程序&#xff0c;如果用编译型语言C来实现&#xff0c;其运行速度一般要比Java快一倍以上。Java具有平台无关性&#xff0c;这使人们在开发企业级应用的时候…

Jquery实战_读书笔记1—选择jQuery

近期公司积极组织我们这些开发人员学习进步&#xff0c;督促我们学习更多的技术来提高自己。为此我选择了jQuery作为我学习的方向&#xff0c;同时我也是想将我的学习心得分享给大家&#xff0c;以后我会不断的更新一系列jQuery方面的学习纪要&#xff0c;帮助大家学习。 对比了…

Python入门(一)数据类型、循环语句

脚本语言类型&#xff1a; 1.编译型语言&#xff1a;写完代码不能执行&#xff0c;需要先编译 eg&#xff1a;c、c、c# 2.解释性语言&#xff1a;不需要编译 直接执行 eg&#xff1a;python、java、php、js、go、ruby 编程工具 pycharm 1.破解方法&a…

ionic项目创建打包签名

1. 环境搭建 1.1 安装Node.js 使用node -v查看Node.js版本 1.2 安装npm 使用npm -v查看npm版本 1.3 安装ionic 使用npm install -g ionic命令&#xff0c;全局安装最新版本的ionic 使用ionic -v查看当前安装的ionic版本 1.4 安装cordova 使用npm install -g cordova命令…

Java 常用对象-Date类和Calender类

2017-11-02 22:29:34 Date类&#xff1a;类 Date 表示特定的瞬间&#xff0c;精确到毫秒。 在 JDK 1.1 之前&#xff0c;类 Date 有两个其他的函数。它允许把日期解释为年、月、日、小时、分钟和秒值。它也允许格式化和解析日期字符串。不过&#xff0c;这些函数的 API 不易于实…

为你的水晶报表装载本地图片

本文为解答该贴所做&#xff1a;http://topic.csdn.net/u/20090524/15/911fd15a-32c6-4be9-9aa1-3ee95365e7e3.html 并没有什么新内容&#xff0c;主要是如何读取本地图片显示在报表中。 如果是CR XI及以上版本&#xff0c;可以用更简便的方法&#xff0c;参考&#xff1a;水晶…

asp.net断点续传技术

断点续传的原理 在了解HTTP断点续传的原理之前&#xff0c;先来说说HTTP协议&#xff0c;HTTP协议是一种基于tcp的简单协议&#xff0c;分为请求和回复两种。请求协议是由客户机(浏览器)向服务器(WEB SERVER)提交请求时发送报文的协议。回复协议是由服务器(web server)&#xf…

Linux安装Nodejs

Linux安装Nodejs 阿里云镜像&#xff1a; https://npm.taobao.org/mirrors/node/ 选择所需版本&#xff0c;进行下载。 我这边下载的是&#xff1a;https://npm.taobao.org/mirrors/node/v8.2.1/node-v8.2.1-linux-x64.tar.gz 环境&#xff1a; linux 7.x 目录结构&#xff08…

jQuery-1.样式篇---选择器

jQuery选择器之id选择器 页面的任何操作都需要节点的支撑&#xff0c;开发者如何快速高效的找到指定的节点也是前端开发中的一个重点。jQuery提供了一系列的选择器帮助开发者达到这一目的&#xff0c;让开发者可以更少的处理复杂选择过程与性能优化&#xff0c;更多专注业务逻辑…

CentOS 7 相关命令

Centos 7 相关命令 查看Linux内核/操作系统/CPU # uname -a查看系统位数是64位还是32位 # getconf LONG_BIT检验java是否安装成功 # java -version查询java的执行路径 # which java打开java环境变量的配置文件 # vi /etc/profile配置java环境变量后重新加载配置文件 …

51cto的初体验

注册该网站也有一段时间了&#xff0c;第一次来到这个网站是在一次无意间搜索某个问题的时候进来的&#xff0c;我有一个习惯&#xff0c;就是每次一遇到不懂的问题就会上网搜&#xff0c;看看大家都是怎么解决的&#xff0c;至少到现在用这种方法&#xff0c;我已经解决了不少…

Codeforces Round #550 (Div. 3)E. Median String

把字符串看作是26进制的数&#xff0c;从后往前翻译&#xff0c;那么就可以把两个串变成对应的26进制的数字&#xff0c;那么只要把两个数加起来除以二就得到中间的串对应的数了&#xff0c;同理再转化回来就行了。但是这样会有一个问题就是串的长度有2e5&#xff0c;26的2e5次…

window.print()前端实现打印功能

方法介绍 window.print()方法用于打印当前窗口的内容。 默认打印页面中body里的所有内容。 调用 print() 方法会产生一个打印预览弹框&#xff0c;让用户可以设置打印配置。 1. 打印方法 1.1 打印当前窗口内容 示例demo如下&#xff1a; <!DOCTYPE html> <html la…

.NET 4.0 Interop新特性ICustomQueryInterface (转载)

.NET 4.0 Interop新特性ICustomQueryInterface 在.NET Framework v4.0发布的新功能中&#xff0c;在名字空间System.Runtime.InteropServices新增加了一个叫做ICustomQueryInterface的Interface, 顾名思义&#xff0c;这个Interface的功能就是使得用户可以自己控制QueryInterf…

HTML5 3D旋转图片相册

H5旋转3D相册&#xff0c;鼠标放置暂停&#xff0c;图片灰度级为0&#xff0c;有放大效果。 该实例运用H5和CSS3动画效果&#xff0c;未用javascript。提高了本人对CSS3 新属性的了解及掌握。 完整代码如下&#xff1a; <!DOCTYPE html> <html lang"en">…

DHTML中style的display和visibility属性

DHTML中style的display和visibility属性 display是隐藏该对象&#xff0c;使该对象不占用页面排版空间。document.all("tr1").style.display"block"document.all("tr1").style.display"none" visibility只是在页面上看不见&#xff0c…

多线程共享全局变量以及锁机制

多线程都是在同一个进程中运行的。因此在进程中的全局变量所有线程都是共享的&#xff0c;这就造成一个问题&#xff0c;因为线程执行的顺序是无序的&#xff0c;有可能会造成数据错误&#xff0c;为了解决这个问题&#xff0c; threading提供了一个lock类&#xff0c;这个类可…

HTML DOM Console对象

在开发过程中对程序进行测试&#xff0c;经常使用浏览器控制台输出相关信息&#xff0c;下面详细介绍console对象的相关方法。 Console 对象 提供了访问浏览器调试模式的信息到控制台 1. console.assert()方法 用法&#xff1a;该方法在第一个参数为 false 的情况下会在控制台…

禁止拖放对象文本被选择

禁止拖放对象文本被选择的方法&#xff1a; 1.ie中设置拖放对象的onselectstart返回false&#xff0c;在ff中设置样式MozUserSelect(css:-moz-user-select)为none。 这种方法只能禁止拖放对象本身被选择。 2. ie:document.selection.empty() ff:window.getSelection().removeAl…

线性时间选择问题——分治

问题&#xff1a;求一个n个数的列表中第K个最小的元素。这个数字被称为第K个顺序统计量。问题求解&#xff1a; //对数组元素data[lowhigh]进行分区操作,0号单元不用intpartion(intdata[],intlow,inthigh){ data[0]data[low]; intpivotkeydata[low]; while(low<hig…