一般存入数据库中的时间格式为yyyy-mm-dd hh:mm:ss 如果要转换为yyyy-mm-dd  短日期格式.可以使用convert函数.下面是sqlserver帮助中关于convert函数的声明:
 
使用 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* 科威特 dd mon yyyy hh:mi:ss:mmmAM
- 131* 科威特 dd/mm/yy hh:mi:ss:mmmAM
 
*    默认值(style0 或 100、9 或 109、13 或 113、20 或 120、21 或 121)始终返回世纪数位 (yyyy)。
** 当转换为datetime时输入;当转换为字符数据时输出。
*** 专门用于 XML。对于从datetime或smalldatetime到character数据的转换,输出格式如表中所示。对于从float、money或smallmoney到character数据的转换,输出等同于style2。对于从real到character数据的转换,输出等同于style1。
 
 
重要  默认情况下,SQL Server 根据截止年份 2049 解释两位数字的年份。即,两位数字的年份 49 被解释为 2049,而两位数字的年份 50 被解释为 1950。许多客户端应用程序(例如那些基于 OLE 自动化对象的客户端应用程序)都使用 2030 作为截止年份。SQL Server 提供一个配置选项("两位数字的截止年份"),借以更改 SQL Server 所使用的截止年份并对日期进行一致性处理。然而最安全的办法是指定四位数字年份。
当从smalldatetime转换为字符数据时,包含秒或毫秒的样式将在这些位置上显示零。当从datetime或smalldatetime值进行转换时,可以通过使用适当的char或varchar数据类型长度来截断不需要的日期部分。
=========================================================================
如果只要取yyyy-mm-dd格式时间, 就可以用 convert(nvarchar(10),field,120)
120 是格式代码,  nvarchar(10) 是指取出前10位字符.
 
 
日期到字符串的语句及查询结果:
SELECT CONVERT(NVARCHAR(100), GETDATE(), 0)-- 05 16 2006 10--57AM
SELECT CONVERT(NVARCHAR(100), GETDATE(), 1)-- 05/16/06
SELECT CONVERT(NVARCHAR(100), GETDATE(), 2)-- 06.05.16
SELECT CONVERT(NVARCHAR(100), GETDATE(), 3)-- 16/05/06
SELECT CONVERT(NVARCHAR(100), GETDATE(), 4)-- 16.05.06
SELECT CONVERT(NVARCHAR(100), GETDATE(), 5)-- 16-05-06
SELECT CONVERT(NVARCHAR(100), GETDATE(), 6)-- 16 05 06
SELECT CONVERT(NVARCHAR(100), GETDATE(), 7)-- 05 16, 06
SELECT CONVERT(NVARCHAR(100), GETDATE(), 8)-- 10--57--46
SELECT CONVERT(NVARCHAR(100), GETDATE(), 9)-- 05 16 2006 10--57--46--827AM
SELECT CONVERT(NVARCHAR(100), GETDATE(), 10)-- 05-16-06
SELECT CONVERT(NVARCHAR(100), GETDATE(), 11)-- 06/05/16
SELECT CONVERT(NVARCHAR(100), GETDATE(), 12)--
SELECT CONVERT(NVARCHAR(100), GETDATE(), 13)-- 16 05 2006 10--57--46--937
SELECT CONVERT(NVARCHAR(100), GETDATE(), 14)-- 10--57--46--967
SELECT CONVERT(NVARCHAR(100), GETDATE(), 20)-- 2006-05-16 10--57--47
SELECT CONVERT(NVARCHAR(100), GETDATE(), 21)-- 2006-05-16 10--57--47.157
SELECT CONVERT(NVARCHAR(100), GETDATE(), 22)-- 05/16/06 10--57--47 AM
SELECT CONVERT(NVARCHAR(100), GETDATE(), 23)-- 2006-05-16
SELECT CONVERT(NVARCHAR(100), GETDATE(), 24)-- 10--57--47
SELECT CONVERT(NVARCHAR(100), GETDATE(), 25)-- 2006-05-16 10--57--47.250
SELECT CONVERT(NVARCHAR(100), GETDATE(), 100)-- 05 16 2006 10--57AM
SELECT CONVERT(NVARCHAR(100), GETDATE(), 101)-- 05/16/2006
SELECT CONVERT(NVARCHAR(100), GETDATE(), 102)-- 2006.05.16
SELECT CONVERT(NVARCHAR(100), GETDATE(), 103)-- 16/05/2006
SELECT CONVERT(NVARCHAR(100), GETDATE(), 104)-- 16.05.2006
SELECT CONVERT(NVARCHAR(100), GETDATE(), 105)-- 16-05-2006
SELECT CONVERT(NVARCHAR(100), GETDATE(), 106)-- 16 05 2006
SELECT CONVERT(NVARCHAR(100), GETDATE(), 107)-- 05 16, 2006
SELECT CONVERT(NVARCHAR(100), GETDATE(), 108)-- 10--57--49
SELECT CONVERT(NVARCHAR(100), GETDATE(), 109)-- 05 16 2006 10--57--49--437AM
SELECT CONVERT(NVARCHAR(100), GETDATE(), 110)-- 05-16-2006
SELECT CONVERT(NVARCHAR(100), GETDATE(), 111)-- 2006/05/16
SELECT CONVERT(NVARCHAR(100), GETDATE(), 112)--
SELECT CONVERT(NVARCHAR(100), GETDATE(), 113)-- 16 05 2006 10--57--49--513
SELECT CONVERT(NVARCHAR(100), GETDATE(), 114)-- 10--57--49--547
SELECT CONVERT(NVARCHAR(100), GETDATE(), 120)-- 2006-05-16 10--57--49
SELECT CONVERT(NVARCHAR(100), GETDATE(), 121)--
SELECT CONVERT(NVARCHAR(100), GETDATE(), 126)-- 2006-05-16T10--57--49.827
SELECT CONVERT(NVARCHAR(100), GETDATE(), 130)-- 18 ???? ?????? 1427 10--57--49--907AM
SELECT CONVERT(NVARCHAR(100), GETDATE(), 131)-- 18/04/1427 10--57--49--920AM

字符串到日期的语句及查询结果:

DECLARE @stringDate NVARCHAR(20)=N'30/05/2018'
SELECT CONVERT(DATETIME,@stringDate,103) --2018-05-30 00:00:00.000 SET @stringDate=N'05/30/2018'
SELECT CONVERT(DATETIME,@stringDate,101) --2018-05-30 00:00:00.000

带时、分、秒、毫秒的字符串到日期的语句及查询结果:

DECLARE @stringDate NVARCHAR(100)=N'30/05/2018 13:23:32.053'
SELECT CONVERT(DATETIME,@stringDate,103) --2018-05-30 13:23:32.053 SET @stringDate=N'05/30/2018 13:23:32.053'
SELECT CONVERT(DATETIME,@stringDate,101) --2018-05-30 13:23:32.053

原文链接

 
 

SQL Server中使用convert进行日期转换(转载)的更多相关文章

  1. (转)SQL Server中使用convert进行日期转换

    原文链接:http://www.cnblogs.com/weiqt/articles/1826847.html SQL Server中使用convert进行日期转换 一般存入数据库中的时间格式为yyy ...

  2. SQL Server中使用convert进行日期转换

    使用 CONVERT: CONVERT (data_type[(length)],expression[,style]) 参数 expression 是任何有效的 Microsoft® SQL Ser ...

  3. SQL Server中一些有用的日期sql语句

    SQL Server中一些有用的日期sql语句 1.一个月第一天的 SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) 2.本周的星期一 SELECT DA ...

  4. 【SQL Server】MS SQL Server中的CONVERT日期格式化大全

    CONVERT 函数将某种数据类型的表达式显式转换为另一种数据类型.SQL Server中 将日期格式化. SQL Server 支持使用科威特算法的阿拉伯样式中的数据格式. 在表中,左侧的两列表示将 ...

  5. SQL Server中提前找到隐式转换提升性能的办法

        http://www.cnblogs.com/shanksgao/p/4254942.html 高兄这篇文章很好的谈论了由于数据隐式转换造成执行计划不准确,从而造成了死锁.那如果在事情出现之前 ...

  6. sql server中quotename()函数的用法(转载)

    操作sql server尤其是写存储过程时,要用到各种各样的函数,今天就总结一个quotename()的用法.1.语法: quotename('character_string'[,'quote_ch ...

  7. MS SQL Server中的CONVERT日期格式化大全

    CONVERT 将某种数据类型的表达式显式转换为另一种数据类型.由于某些需求经常用到取日期格式的不同. 现以下可在SQL Server中将日期格式化. SQL Server 支持使用科威特算法的阿拉伯 ...

  8. SQL Server 中使用 convert 转换 datetime 格式示例

    Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE() ...

  9. sql server中的日期详解使用(convert)

    转自:http://blog.csdn.net/hehe520347/article/details/48496853 有个字段值例如2012-07-02 00:00:00.000 转化成 2012- ...

随机推荐

  1. ajax请求完之前的loading加载

    很多时候我们需要引入框架来开发项目,这时我们可能会遇到页面还没加载完源码出来了的问题,给用户一种不好的视觉体验,这是便需要loading加载了,来完善用户体验! /*loading.js*/ // 加 ...

  2. c3p0死锁

    1.APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks! 抛出以下异常信息: com.mchang ...

  3. Tomcat 8默认工具manager管理页面访问配置

    Tomcat 8默认工具manager管理页面访问配置 1. 分配相关的角色权限 需要配置的配置文件是${catalina.home}/conf/tomcat-users.xml先给Tomcat访问相 ...

  4. 编写xml文件不当时会出现R文件找不到情况

    1,先检查xml文件是否报错,报错的话直接找到报错行. 2,xml文件若不报错,可能是文本值得格式输入错误 比如android:text=“<0.5km”,此时的小于号就会引发错误,导致R文件找 ...

  5. Android 系统工具类

    系统工具类 public class systemUtil { //隐藏ipad底部虚拟按键栏 @RequiresApi(api = Build.VERSION_CODES.KITKAT) publi ...

  6. 精通initramfs构建step by step

    (一)hello world  一.initramfs是什么  在2.6版本的linux内核中,都包含一个压缩过的cpio格式 的打包文件.当内核启动时,会从这个打包文件中导出文件到内核的rootfs ...

  7. JMeter—逻辑控制器(六)

    参考<全栈性能测试修炼宝典JMeter实战>第六章 JMeter 元件详解中第一节JMeter逻辑控制器 JMeter逻辑控制器可以对元件的执行逻辑进行控制,除仅一次控制器外,其他可以嵌套 ...

  8. 洗礼灵魂,修炼python(26)--编程核心之“递归”

    递归 1.什么是递归: 其实前面都提过,但没有详细讲.多次调用自身就叫递归 看图,这种就叫递归 看过盗梦空间没?其实也是递归 2.递归需要满足条件: 有调用函数自身 有一个正确的返回条件来结束 在使用 ...

  9. C#语言————第四章 常用Convert类的类型转换方法

    方法 说明Convert.ToInt32() 转换为整型(int 型)Convert.ToStringle() 转换为单精度浮点型(float 型)Convert.ToDouble()  转换为双精度 ...

  10. entity framework异常 The specified cast from a materialized 'System.Int32' type to the 'System.String' type is not valid

    ROW_NUMBER() OVER (ORDER BY (select Null)) AS Id entity framework 查询中有这句会有异常