1   概述

本篇文章主要讲解SqlServer中类型转换涉及的两个函数:CAST和CONVERT。

2   具体内容

2.1  CAST

(1)作用:将一种数据类型的表达式转换为另一种数据类型的表达式。

(2)定义:

 CAST ( expression AS data_type)

Parameters:

expression:任何可转换为 data_type 的有效表达式;

data_type:系统提供的目标数据类型。 该类型必须为基元(标量)类型。 使用的 data_type 取决于查询空间。 如果使用EntityCommand 执行查询,则数据类型为概念模型中定义的类型。

Return Value::

返回与 data_type 相同的值。

(3)例子

 SELECT CAST('' AS INT)  --

 SELECT CAST(2017 AS INT)   --

 SELECT CAST(2017.3 AS INT)   --

 SELECT CAST('2017.3' AS INT)--消息 245,级别 16,状态 1,第 1 行,在将 varchar 值 '2017.3' 转换成数据类型 int 时失败。

 SELECT CAST('2017.3' AS decimal) --

 SELECT CAST('2017.3' AS decimal(8,2))  --2017.30

2.2  CONVERT

(1)作用:将一种数据类型的表达式转换为另一种数据类型的表达式。

(2)定义:

 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)例子

 SELECT CONVERT(INT,'')   --

 SELECT CONVERT(INT,2017.3)   --

 SELECT CONVERT(INT,'2017.3')   --消息 245,级别 16,状态 1,第 1 行,在将 varchar 值 '2017.3' 转换成数据类型 int 时失败。

 SELECT CONVERT(decimal,'2017.3')  --

 SELECT CONVERT(decimal(8,2),'2017.3') --2017.30

2.3  CAST和CONVERT比较

(1)cast一般更容易使用,convert的优点是可以格式化日期和数值;

(2)convert一般用于日期和时间值,小数之间转换,cast一般用于小数转数值和字符型;

(3)converk显示转换,cast是强制转换;            
(4)例子

 select CONVERT(varchar, getdate(), 120 )  --2017-08-13 03:56:14

 select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','') --

 select CONVERT(varchar(12) , getdate(), 111 ) --2017/08/13

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

 select CONVERT(varchar(12) , getdate(), 102 )  --2017.08.13

 select CONVERT(varchar(12) , getdate(), 101 )  --08/13/2017

 select CONVERT(varchar(12) , getdate(), 103 )  --13/08/2017

 select CONVERT(varchar(12) , getdate(), 104 )  --13.08.2017

 select CONVERT(varchar(12) , getdate(), 105 )  --13-08-2017

 select CONVERT(varchar(12) , getdate(), 106 )  --13 08 2017

 select CONVERT(varchar(12) , getdate(), 107 )  --08 13, 2017

 select CONVERT(varchar(12) , getdate(), 108 )  --03:57:39

 select CONVERT(varchar(12) , getdate(), 109 )  --08 13 2017  

 select CONVERT(varchar(12) , getdate(), 110 )  --08-13-2017

 select CONVERT(varchar(12) , getdate(), 113 )  --13 08 2017 0

 select CONVERT(varchar(12) , getdate(), 114 )  --03:58:08:200

 select getdate()  --2017-08-13 03:58:48.660

 select convert(char(8),getdate(),112)  --

 select convert(char(8),getdate(),108)  --03:58:48

 select convert(char(8),getdate(),112)  --

参考表:

3   参考文献

【01】https://msdn.microsoft.com/zh-cn/library/bb399172(v=vs.110).aspx

【02】https://technet.microsoft.com/zh-cn/library/ms187928(v=sql.105).aspx

4   版权

  • 感谢您的阅读,若有不足之处,欢迎指教,共同学习、共同进步。
  • 博主网址:http://www.cnblogs.com/wangjiming/。
  • 极少部分文章利用读书、参考、引用、抄袭、复制和粘贴等多种方式整合而成的,大部分为原创。
  • 如您喜欢,麻烦推荐一下;如您有新想法,欢迎提出,邮箱:2016177728@qq.com。
  • 可以转载该博客,但必须著名博客来源。

【Sqlserver系列】CAST和CONVERT的更多相关文章

  1. SqlServer基础:类型转换Cast和Convert

    在SqlServer要对不同类型的数据进行运算时,需要将其转换为相同类型之后再做操作,而SqlServer中有两个函数可以进行数据转换,即:Cast和Convert 1.Cast CAST(expre ...

  2. SQL SERVER CAST 和 CONVERT 函数

    遇到CAST 函数转化数字不一致情况, select CAST('0000000011237590798' AS money) / 100 AS Amount--output : 112375907. ...

  3. CAST和CONVERT差别与联系

    CAST和CONVERT:都是将一种数据类型转换成为另一种数据类型. CAST: CAST ( expression AS data_type [ ( length ) ] ) EG: )) ) as ...

  4. SQL之 CAST 和 CONVERT

    原文来自于: http://bbs.csdn.net/topics/330251394 CAST 和 CONVERT将某种数据类型的表达式显式转换为另一种数据类型.CAST 和 CONVERT 提供相 ...

  5. SQL 语句转换格式函数Cast、Convert

    CAST和CONVERT都经常被使用.特别提取出来作为一篇文章,方便查找. CAST.CONVERT都可以执行数据类型转换.在大部分情况下,两者执行同样的功能,不同的是CONVERT还提供一些特别的日 ...

  6. MySQL 字符串 转 int/double CAST与CONVERT 函数的用法

    http://hongmin118.iteye.com/blog/2029728   转的 MySQL 的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值.两者具体的语 ...

  7. SQL 语句转换格式函数Cast、Convert 区别

    SQL 语句转换格式函数Cast.Convert CAST和CONVERT都经常被使用.特别提取出来作为一篇文章,方便查找. CAST.CONVERT都可以执行数据类型转换.在大部分情况下,两者执行同 ...

  8. SQL Server 基础:Cast和Convert的区别

    CAST 和 CONVERT 都可以将某种数据类型的表达式显式转换为另一种数据类型. 语法: CAST ( expression AS data_type ) CONVERT (data_type[( ...

  9. MySQL CAST与CONVERT 函数的用法

    MySQL CAST与CONVERT 函数的用法 产生另一个类型的值  MySQL 的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值. 两者具体的语法如下:1 CAS ...

随机推荐

  1. IntelliJ配置jenkins服务的Crumb Data

    近期在做jenkins测试,IntelliJ并没有自动安装jenkins服务器,因此需要自己添加,但是如果不配置Crumb Data,jenkins的服务就不能使用. 首先在服务器中开启CSRF服务, ...

  2. Java中Date日期字符串格式的各种转换

    public class DateParserT {           /**          * Date 与  String.long 的相互转换          * @param args ...

  3. Java实现邮箱发送验证码

    第一步,导入JAR包,JAR包下载地址[http://pan.baidu.com/s/1kVRvGyF] 正式代码: 首先书写一个工具类: MailUtil import javax.mail.*; ...

  4. hadoop的webUI查看Live Nodes为1

    开起了两个节点,而且jps查看确实开启了,但是用web端50070查看却一直显示为1 经过排查,将虚拟机直接copy一份,但是之前配置好hadoop环境的namenode格式化(format)生成的文 ...

  5. 约瑟夫环C#解决方法

    /*约瑟夫环 (问题描述) 约瑟夫问题的一种描述是:编号为1,2,......n,的n个人按顺时针方向围坐一圈,每个人持有一个密码(正整数).一开始任意选 一个正整数作为报数的上限值m,从第一个人开始 ...

  6. SpringMVC---CookieValue

    配置文件承接一二章 @CookieValue的作用 用来获取Cookie中的值 1.value:参数名称 2.required:是否必须 3.defaultValue:默认值 原网址:https:// ...

  7. maven学习之1

    最近用maven的时候各种出问题,打算系统的学习一下maven,搞明白依赖之类的. (一)创建工程: mvn archetype:generate 这样就可以根据提示来建立一个maven项目,常用的有 ...

  8. 线程&进程&协程

    线程 线程是应用程序中工作的最小单元,它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务.Threading用 ...

  9. redis数据类型及常用命令介绍(图文实例)

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhgAAAFLCAYAAACUdvXUAAAgAElEQVR4nO3da1da58L2fT5KfPvc96 ...

  10. python之列表(list)的使用方法介绍

    python之列表(list)介绍 在python的使用过程中,我们经常会用到列表,然而经常会遇到疑惑,下面我将详细介绍下列表使用方法. 一.列表 列表经常用到的功能使增.删.改和查功能. 1. 增 ...