SQL中CAST和CONVERT的区别是什么?
2010-05-24 16:27
253 查看
如果SQL Server程序员想将表达式从一种换为另一种,他可以从SQL Server 7和2000中自带的两种功能中做出选择。
在存储过程或其他情况下,我们常常需要将数据从datetime型转化成varchar型;CONVERT和CAST就可以用于这种情况。 由于SQL Server提供两种功能,因此应该选择哪种功能或应该在哪种情况下使用该功能就很容易让人困惑了。
CONVERT是专对SQL Server使用的,使日期与时间值,小数之间转换具有更宽的灵活性。 CAST是两种功能中更具ANSI标准的功能,即虽然更具便携性(比如,使用CAST的函数能更容易的被其它数据库软件使用),但功能相对弱一些。不过,当小数转化为数值,并保留原始表达式中的小数数值时,仍然需要使用CAST。因此,我建议首先使用CAST,如果遇到必须使用CONVERT的情况时再使用CONVERT。
CAST和CONVERT还能联合使用,达到特殊的效果。比如,在current date下生成char变量一般使用以下方法: SELECT CONVERT(CHAR(10), CURRENT_TIMESTAMP, 102) (102表明使用了ANSI日期模式,即yy.mm.dd型)
然而,如果你希望将这个变量明确生成为datetime或smalldatetime变量,以此在特定的数据库栏中兼容,那么你可以使用以下语句: SELECT CAST(CONVERT(CHAR(10),CURRENT_TIMESTAMP,102) AS DATETIME 返回值将是 yy.mm.dd 00:00:00(如12:00AM作为时间戳;
相关文章推荐
- SQL中CAST和CONVERT的区别是什么?
- SQL中CAST和CONVERT的区别是什么
- SQL中的cast 和convert的区别
- [SQL] cast 与 convert 都在什么情况下使用
- SQL中cast和convert的区别
- SQL SERVER中强制类型转换cast和convert的区别
- sql 中convert和cast区别
- SQL中CAST和CONVERT的区别
- SQL中的cast和convert的用法和区别
- SQL中的cast和convert的用法和区别
- SQL中CAST和CONVERT的区别
- SQL中转换数据类型的 Cast和Convert的用法和区别 SQL Server 函数
- SQL SERVER中强制类型转换cast和convert的区别
- SQL中varchar和nvarchar有什么区别?
- sql里的cast和convert
- v$sqlarea,v$sql,v$sqltext这三个视图提供的sql语句有什么区别?
- Hibernate 的HQL和sql有什么区别
- CAST 和 CONVERT的用法和区别
- [MS SQL]SQL表达式CAST和CONVERT讲解
- SQL Server Cast and Convert