您好,欢迎来到思海网络,我们将竭诚为您提供优质的服务! 诚征网络推广 | 网站备案 | 帮助中心 | 软件下载 | 购买流程 | 付款方式 | 联系我们 [ 会员登录/注册 ]
促销推广
客服中心
业务咨询
有事点击这里…  531199185
有事点击这里…  61352289
点击这里给我发消息  81721488
有事点击这里…  376585780
有事点击这里…  872642803
有事点击这里…  459248018
有事点击这里…  61352288
有事点击这里…  380791050
技术支持
有事点击这里…  714236853
有事点击这里…  719304487
有事点击这里…  1208894568
有事点击这里…  61352289
在线客服
有事点击这里…  531199185
有事点击这里…  61352288
有事点击这里…  983054746
有事点击这里…  893984210
当前位置:首页 >> 技术文章 >> 文章浏览
技术文章

SQL server中使用 CONVERT转日期格式

添加时间:2014-3-13 16:58:03  添加: 思海网络 
在工作中时常要将某种数据类型的表达式显式转换为另一种数据类型。由于某些需求经常用到取日期格式的不同 .现以下可在SQL Server中 将日期格式化 .

  在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

  默认值( 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。

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

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

  下表显示了从 float 或 real 转换为字符数据时的 style 值。

  值   输出
  0(默认值)   最大为 6 位数。根据需要使用科学记数法。
  1   始终为 8 位值。始终使用科学记数法。
  2   始终为 16 位值。始终使用科学记数法。

  在下表中,左列表示从 money 或 smallmoney 转换为字符数据时的 style 值。

  值   输出
  0(默认值)   小数点左侧每三位数字之间不以逗号分隔,小数点右侧取两位数,例如 4235.98。
  1   小数点左侧每三位数字之间以逗号分隔,小数点右侧取两位数,例如 3,510.92。
  2   小数点左侧每三位数字之间不以逗号分隔,小数点右侧取四位数,例如 4235.9819。

  使用 CONVERT:

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

  select CONVERT(varchar, getdate(), 120 )
2004-09-12 11:06:08

  select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),"-","")," ",""),":","")
20040912110608

  select CONVERT(varchar(12) , getdate(), 111 )
2004/09/12

  select CONVERT(varchar(12) , getdate(), 112 )
20040912

  select CONVERT(varchar(12) , getdate(), 102 )
2004.09.12

  select CONVERT(varchar(12) , getdate(), 101 )
09/12/2004

  select CONVERT(varchar(12) , getdate(), 103 )
12/09/2004

  select CONVERT(varchar(12) , getdate(), 104 )
12.09.2004

  select CONVERT(varchar(12) , getdate(), 105 )
12-09-2004

  select CONVERT(varchar(12) , getdate(), 106 )
12 09 2004

  select CONVERT(varchar(12) , getdate(), 107 )
09 12, 2004

  select CONVERT(varchar(12) , getdate(), 108 )
11:06:08

  select CONVERT(varchar(12) , getdate(), 109 )
09 12 2004 1

  select CONVERT(varchar(12) , getdate(), 110 )
09-12-2004

  select CONVERT(varchar(12) , getdate(), 113 )
12 09 2004 1

  select CONVERT(varchar(12) , getdate(), 114 )
11:06:08.177

关键字:SQL server、日期、数据

分享到:

顶部 】 【 关闭
版权所有:佛山思海电脑网络有限公司 ©1998-2024 All Rights Reserved.
联系电话:(0757)22630313、22633833
中华人民共和国增值电信业务经营许可证: 粤B1.B2-20030321 备案号:粤B2-20030321-1
网站公安备案编号:44060602000007 交互式栏目专项备案编号:200303DD003  
察察 工商 网安 举报有奖  警警  手机打开网站