快捷搜索:
来自 网络数据库 2019-11-24 16:41 的文章
当前位置: 67677新澳门手机版 > 网络数据库 > 正文

【Sqlserver类别】CAST和CONVERT

1   概述

 本篇小说重要解说SqlServer中类型转变涉及的四个函数:CAST和CONVERT。

2   具体内容

2.1  CAST

(1)作用:将后生可畏种数据类型的表明式转变为另生机勃勃种数据类型的表达式。

(2)定义:

1 CAST ( expression AS data_type)

Parameters:

     expression:任何可改换为 data_type 的有用表达式;

     data_type:系统提供的靶子数据类型。 该类型必需为基元(标量卡塔 尔(英语:State of Qatar)类型。 使用的 data_type 决计于查询空间。 借使应用EntityCommand 施行查询,则数据类型为概念模型中定义的品种。  

Return Value::

    返回与 data_type 雷同的值。

(3)例子

 1 SELECT CAST('2017' AS INT)  --2017
 2 
 3 SELECT CAST(2017 AS INT)   --2017
 4 
 5 SELECT CAST(2017.3 AS INT)   --2017
 6 
 7 SELECT CAST('2017.3' AS INT)--消息 245,级别 16,状态 1,第 1 行,在将 varchar 值 '2017.3' 转换成数据类型 int 时失败。
 8 
 9 SELECT CAST('2017.3' AS decimal) --2017
10 
11 SELECT CAST('2017.3' AS decimal(8,2))  --2017.30

 

2.2  CONVERT

(1)效率:将意气风发种数据类型的表达式转换为另风流洒脱种数据类型的表明式。

(2)定义:

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

Parameters:

   expression:任何有效的表明式;

   data_type:目的数据类型。那包涵 xml、bigint 和 sql_variant。无法选择小名数据类型;

   length:钦点目的数据类型长度的可选整数。暗中认可值为 30;

   style:钦定 CONVERT 函数怎么着改动 expression 的整数表明式。假设体制为 NULL,则赶回 NULL。该限量是由 data_type 明显的。有关详细新闻,请参阅“备注”部分;

Return Value:

   重回调换为 data_type 的 expression。

(3)例子

1 SELECT CONVERT(INT,'2017')   --2017
2  
3 SELECT CONVERT(INT,2017.3)   --2017
4 
5 SELECT CONVERT(INT,'2017.3')   --消息 245,级别 16,状态 1,第 1 行,在将 varchar 值 '2017.3' 转换成数据类型 int 时失败。
6 
7 SELECT CONVERT(decimal,'2017.3')  --2017
8 
9 SELECT CONVERT(decimal(8,2),'2017.3') --2017.30

 

2.3  CAST和CONVERT比较

(1)cast日常更易于选拔,convert的长处是足以格式化日期和数值;

(2)convert平日用于日期和岁月值,小数之间转移,cast经常用于小数转数值和字符型;

(3)converk突显调换,cast是强制调换;            
(4)例子

 1 select CONVERT(varchar, getdate(), 120 )  --2017-08-13 03:56:14
 2  
 3 select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','') --20170813035627
 4  
 5 select CONVERT(varchar(12) , getdate(), 111 ) --2017/08/13
 6  
 7 select CONVERT(varchar(12) , getdate(), 112 )  --20170813
 8  
 9 select CONVERT(varchar(12) , getdate(), 102 )  --2017.08.13
10  
11 select CONVERT(varchar(12) , getdate(), 101 )  --08/13/2017
12  
13 select CONVERT(varchar(12) , getdate(), 103 )  --13/08/2017
14  
15 select CONVERT(varchar(12) , getdate(), 104 )  --13.08.2017
16  
17 select CONVERT(varchar(12) , getdate(), 105 )  --13-08-2017
18  
19 select CONVERT(varchar(12) , getdate(), 106 )  --13 08 2017
20  
21 select CONVERT(varchar(12) , getdate(), 107 )  --08 13, 2017
22  
23 select CONVERT(varchar(12) , getdate(), 108 )  --03:57:39
24   
25 select CONVERT(varchar(12) , getdate(), 109 )  --08 13 2017  
26  
27 select CONVERT(varchar(12) , getdate(), 110 )  --08-13-2017
28  
29 select CONVERT(varchar(12) , getdate(), 113 )  --13 08 2017 0
30  
31 select CONVERT(varchar(12) , getdate(), 114 )  --03:58:08:200
32  
33 select getdate()  --2017-08-13 03:58:48.660
34  
35 select convert(char(8),getdate(),112)  --20170813
36  
37 select convert(char(8),getdate(),108)  --03:58:48
38  
39 select convert(char(8),getdate(),112)  --20170813

参考表:

图片 1

3   参照他事他说加以考查文献

【01】

【02】

4   版权

 

  • 多谢您的阅读,若有白璧微瑕,欢迎指教,协同学习、合作提升。
  • 博主网站:
  • 极少一些文章利用读书、仿效、引用、抄袭、复制和粘贴等各类办法组成而成的,当先三分之二为原创。
  • 如你怜爱,麻烦推荐一下;如你有新主见,应接建议,邮箱:二零一四177728@qq.com。
  • 能够转发该博客,但一定要著名博客来源。

本文由67677新澳门手机版发布于网络数据库,转载请注明出处:【Sqlserver类别】CAST和CONVERT

关键词: