A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李海军 中级黑马   /  2012-4-23 12:42  /  2070 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如题视频中老师没有讲这两个语句的区别,不知道怎么用了 求解惑

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

4 个回复

倒序浏览
CONVERT是专对SQL Server使用的,使日期与时间值,小数之间转换具有更宽的灵活性。
CAST更具ANSI标准的功能

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
select CAST('123'as int),CAST('2012-04-23'as datetime),CONVERT(nvarchar(50),123)
cast和convert方法里面的参数是不一样的表达方式的,cast是前面是要转换的值,然后是as,后面是要转换成的类型
convert是前面是要转换的数据类型,后面是被转换值
另外convert可以按照一定的格式输出,所以一般用convert比较好

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
学习了谢谢!
回复 使用道具 举报
使用 CAST:
CAST ( expression AS data_type )
使用 CONVERT:
CONVERT (data_type[(length)], expression [, style])
可以看到,convert比CAST多了一个style,在转化成日期类型时,因为需要格式要求,cast就不合适了。
cast一般更容易使用,convert的优点是可以格式化日期和数值。举几个小例子:
select  CAST('123' as int)  ------123
select  CONVERT(int,'123')------123

select  CAST(123.4 as int)  ------123
select  CONVERT(int,123.4)------123


评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马