设为首页 收藏本站
查看: 982|回复: 0

[经验分享] SQL时间转换函数Convert

[复制链接]

尚未签到

发表于 2016-11-10 09:51:43 | 显示全部楼层 |阅读模式
  
   
   
   
  将一种数据类型的表达式显式转换为另一种。

DSC0000.gif  语法


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








 参数

data_type
  目标系统提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义的数据类型。有关可用数据类型的详细信息,请参阅

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

expression
  任何有效的 SQL Server Compact Edition 表达式。有关详细信息,请参阅

style
  日期格式的样式,用于将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);或者字符串格式,用于将 float、 real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、 char、varchar、nchar 或 nvarchar 数据类型)。如果 style 为 NULL,则返回的结果也为 NULL。
  有关详细信息,请参阅本主题后面的“备注”部分。

数据类型 表达式 (SQL Server Compact Edition)




 备注
  SQL Server 2005 Compact Edition (SQL Server Compact Edition) 支持使用科威特算法的阿拉伯样式的日期格式。
  在下表中,左侧的两列表示用于将 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:mi:ss(24h)



-



21 121 (*)



ODBC 规范(带毫秒)



yyyy-mm-dd hh:mi:ss.mmm(24h)



-



126(***)



ISO8601



yyyy-mm-ddThh: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 是具有多个变体的日历系统,其中 SQL Server Compact Edition 使用科威特算法。
  下表显示用于将 float 或 real 数据转换为字符数据的 style 值:


   





输出



0(默认值)



最大为 6 位。根据需要使用科学记数法。



1



始终为 8 位。始终使用科学记数法。



2



始终为 16 位。始终使用科学记数法。



在下表中,左侧的列表示用于将 money 或 smallmoney 数据转换为字符数据的 style 值。    





输出



0(默认值)



小数点的左侧没有逗号,小数点的右侧取两位数。例如 4235.98



1



用逗号分隔小数点左侧的每三位数,小数点的右侧取两位数。例如 3,510.92



2



小数点的左侧没有逗号,小数点的右侧取四位数。例如 4235.9819


  在从 numeric 或 decimal 数据转换为字符数据时,使用 style 128 可删除结果集中的尾随零。
  下图说明了 SQL Server Compact Edition 中的显式和隐式数据转换。







 示例
  下面的示例将 datetime 值转换为 nvarchar 值:


SELECT OrderDate, CONVERT(nvarchar(10), OrderDate, 101)
FROM Orders

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-298305-1-1.html 上篇帖子: T-SQL存储过程 下篇帖子: SQL CHARINDEX和PATINDEX函数
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表