对简单类型转换,CAST()函数和CONVERT()函数的效果一致,只是语法不同。前者更易使用,而后者的优势是格式化时间和数值。在以下这几种情况,二者一样:

1-1.SELECT CONVERT(decimal(5,2), '123.477')             ==>123.48

1-2.SELECT CONVERT(decimal, '123.477')                    ==>123

1-3.SELECT CONVERT(int, '123')+3                             ==>126

1-4.SELECT CONVERT(varchar(4), 'hello')                     ==>'hell'

2-1.SELECT CAST('123' AS int)                                   ==>123

2-2.SELECT CAST('123.477' AS decimal)+3                  ==>126

2-3.SELECT CAST('123.477' AS decimal(9,2))               ==>123.48

    2-4.SELECT CAST('hello' AS varchar(4))                       ==>'hell'

提问:SELECT CONVERT(int, '123.477')  和 SELECT CAST('123.477' AS int) 的写法对不?

回答:不对,会报错。因为CAST()函数和CONVERT()函数都不能执行四舍五入或截断操作,所以要把int换成decimal,就像1-2 和 2-2 一样。

语法总结:CAST (expression AS data_type)

CONVERT(data_type(length),data_to_be_converted,style)           <style是可选参数,上面的例子就没有用到>

convert一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候常用到。

如:

SELECT GETDATE()                                                                   ==>2014-05-04 17:51:53.393
    SELECT CONVERT(VARCHAR(19),GETDATE())                              ==>05  4 2014  5:51PM
    SELECT CONVERT(VARCHAR(10),GETDATE(),110)                        ==>05-04-2014

其中,style的对照表如下:

Style ID Style 格式
100 或者 0 mon dd yyyy hh:miAM (或者 PM)
101 mm/dd/yy
102 yy.mm.dd
103 dd/mm/yy
104 dd.mm.yy
105 dd-mm-yy
106 dd mon yy
107 Mon dd, yy
108 hh:mm:ss
109 或者 9 mon dd yyyy hh:mi:ss:mmmAM(或者 PM)
110 mm-dd-yy
111 yy/mm/dd
112 yymmdd
113 或者 13 dd mon yyyy hh:mm:ss:mmm(24h)
114 hh:mi:ss:mmm(24h)
120 或者 20 yyyy-mm-dd hh:mi:ss(24h)
121 或者 21 yyyy-mm-dd hh:mi:ss.mmm(24h)
126 yyyy-mm-ddThh:mm:ss.mmm(没有空格)
130 dd mon yyyy hh:mi:ss:mmmAM
131 dd/mm/yy hh:mi:ss:mmmAM

运用:如:select name,shool,address,convert(Varchar(10),age)+'岁' from Table_student

总之,这两个函数在一些数据库里面,经常见到高手用的,看情况选择函数吧~

数据库CAST()函数和CONVERT()函数比较的更多相关文章

  1. SQL函数学习(十九):CAST()函数和CONVERT()函数

    19.CAST()函数和CONVERT()函数 CAST()函数可以将某种数据类型的表达式转化为另一种数据类型 CONVERT()函数 也 可以将指定的数据类型转换为另一种数据类型 19.1 CAST ...

  2. mysql round()函数以及convert()函数,保留n位小数

    mysql> ); +----------------+ | round() | +----------------+ | 2.23 | +----------------+ row in se ...

  3. 【转载】Sqlserver使用Convert函数进行数据类型转换

    在Sqlserver数据库中,可以使用Convert函数来进行数据类型的转换,如将数字类型decimal转换为字符串nvarchar类型,或者将字符串类型转换为数字类型都可以使用Convert函数来实 ...

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

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

  5. MySQL CAST与CONVERT 函数的用法

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

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

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

  7. SQL中的Convert()函数方法(转换数据格式)

    Convert函数的使用方法 格式: convert(data_type(length),data_to_be_converted,style) data_type(length)转换的目标数据类型, ...

  8. SqlServer日期(convert函数,getdate函数)

    SqlServer日期(convert函数,getdate函数) 函数GETDATE()的返回值在显示时只显示到秒.实际上,SQL Sever内部时间可以精确到毫秒级(确切地说,可以精确到3.33毫秒 ...

  9. SQL server 数据库——数学函数、字符串函数、转换函数、时间日期函数

    数学函数.字符串函数.转换函数.时间日期函数 1.数学函数 ceiling()--取上限  select ceiling(oil) as 油耗上限 from car floor()--取下限 sele ...

随机推荐

  1. java程序测试之字符流

    package filestream; import java.io.FileReader; import java.io.FileWriter; import java.io.FileNotFoun ...

  2. margin:0 auto;不居中?

    1.没有设置宽度 <div style="margin:0 auto;"></div> 看看上面的代码,根本没有设置DIV的宽度,如何根据宽度自适应呢?新手 ...

  3. abp zero sample

    测试运行地址:http://ghy.demo.aspnetzero.com 账号:admin  密码:123456 需要源码,请加QQ:858-048-581 一.用户管理 二.日志记录 1.先编译成 ...

  4. H5微信播放全屏问题

    在ios和安卓手机里的微信下播放视频时,会遇到不少问题,例如需要手动点击,视频才会播放,并且视频会跳出微信框,出现控制条,如果视频不是腾讯视频,播放完毕会出现腾讯视频的广告推送等问题 解决办法:给vi ...

  5. Java使用Schema模式对XML验证

    XML允许创作者定义自己的标签,因其灵活的特性让其难以编写和解析.因此必须使用某种模式来约束其结构.目前最流行的这种模式有两种:DTD和SCHEMA,而后者以其独特的优势即将取代DTD模式,目前只是过 ...

  6. Java并发之线程异常捕获

    由于线程的本质特性,使得你不能捕获从线程中逃逸的异常,如: import java.util.concurrent.ExecutorService; import java.util.concurre ...

  7. ThinkPhp框架:父类及表单验证

    这个知识点,就可以通过"登录"和"注册"的页面来学习这个知识点了首先先做一个"登录"功能一.登录功能(父类)(1)登录的控制器在我的控制器文 ...

  8. 基于 Koa平台Node.js开发的KoaHub.js连接打印机的代码

    最近好多小伙伴都在做微信商城的项目,那就给大家分享一个基于 Koa.js 平台的 Node.js web 开发的框架连接微信易联云打印机接口的代码,供大家学习.koahub-yilianyun 微信易 ...

  9. 使用js实现ajax的get请求步骤

    (以下内容非原创,视频整合得来的) 1.创建XMLHttpRequest对象 2.浏览器与服务器建立连接 3.浏览器向服务器发送请求 4.服务器向浏览器响应请求 下面给出一个实例 1.创建一个test ...

  10. python 接口自动化测试--框架定型(六)

    脚本执行步骤: 1.还原测试数据库: 2.读取接口用例CSV文件到数据库: 3.执行数据库中标记执行的用例: 4.对比预期结果,将测试结果写入数据库结果表中. 数据管理: 事先备份测试数据库,并搭建自 ...