SQL Server 2008的Transact-SQL语言增强(二)

日期: 2008-09-08 作者:zhanghongju 来源:TechTarget中国

    参考下面的示例代码:


  –转换二进制值 0x4E616d65 到一个字符值 







  select CONVERT(char(8), 0x4E616d65, 0) AS ’Style 0, 二进制到字符’ 

  –下面的示例演示了 Style 为 1 的情况下,如何强行截断结果值。


  –产生的结果值由于包含字符 0x ,所以被截断  







 select CONVERT(char(8), 0x4E616d65, 1) AS ’Style 1, 二进制到字符’ 



  –下面的示例演示了 Style 为 2 的情况下,没有截断结果值。


  –这是因为 0x 字符未包含在结果中


  对于 style 1,将在转换后的结果左侧添加字符 0x。作为要转换的二进制表达式,字符 0x 必须为表达式中的前两个字符。


  在style为2的情况下,生成的二进制值不会包含字符 0x。作为要转换的二进制表达式,也不需要在字符前面包含字符 0x。


  如果 data_type 为二进制类型,则表达式必须为字符表达式。


  如果转换后的表达式长度大于 data_type 长度,则会在右侧截断结果。


  如果固定长度 data_types 大于转换后的结果,则会在结果右侧添加零。


  如果 data_type 为字符类型,则表达式必须为二进制表达式。每个二进制字符均转换为两个十六进制字符。如果转换后的表达式长度大于 data_type 长度,则会在右侧截断结果。


  如果 data_type 为固定大小的字符类型,并且转换后的结果长度小于其 data_type 长度,则会在转换后的表达式右侧添加空格,以使十六进制数字的个数保持为偶数。


  –转换字符值 Name 到一个二进制值 






 select CONVERT(binary(8), ’Name’, 0) AS ’Style 0, 字符到二进制’ 
  select CONVERT(binary(4), ’0x4E616D65’, 1) AS ’Style 1, 字符到二进制’ 
  select CONVERT(binary(4), ’4E616D65’, 2) AS ’Style 2, 字符到二进制’ 


  结果如下: 


  转换字符值Name到一个二进制值 


  4.日期和时间功能


  DATEPART ( datepart , date )函数用于返回 date中的指定 datepart 的整数。如:


  select DATEPART(YEAR,’2007-05-10’) –返回2007


  SQL Server 2008 包含对 ISO 周-日期系统的支持,即周的编号系统。每周都与该周内星期四所在的年份关联。例如,2004 年第 1 周 (2004W01) 从 2003 年 12 月 29 日星期一到 2004 年 1 月 4 日星期天。一年中最大的周数可能为 52 或 53。这种编号方式通常用于欧洲国家,但其他国家/地区很少用到。


  下面分别是2010年和2009年1月份的日历。由于2010年第一个星期中的星期四是2010-1-7日,所以2010-1-3日及之前的日期会作为2009年的第53个星期,而不是2010年的第一个星期。而对于2009年1月份的日历,由于星期四是2009-1-1,所以该星期会作为2009年的第一个星期。当然,该星期也包含了2008-12-28至31的4天。 


  日期和时间功能表一


  日期和时间功能表二

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐