SQL SERVER中强制类型转换cast和convert

在SQL SERVER中,cast和convert函数都可用于类型转换,其功能是相同的,

只是语法不同.

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

select CAST(‘123.4‘ as int)
select CONVERT(int, ‘123.4‘)
-- Conversion failed when converting the varchar value ‘123.4‘ to data type int.

select CAST(‘123.4‘ as decimal)  -- 123
select CONVERT(decimal, ‘123.4‘) -- 123

select CAST(‘123.4‘ as decimal(9,2))  -- 123.40
select CONVERT(decimal(9,2), ‘123.4‘) -- 123.40

//使用real可匹配 .55这样的数据

select CONVERT(real, ‘.55‘) -- 0.55

declare @Num money
set @Num = 1234.56
select CONVERT(varchar(20), @Num, 0)  -- 1234.56
select CONVERT(varchar(20), @Num, 1)  -- 1,234.56
select CONVERT(varchar(20), @Num, 2)  -- 1234.5600

时间: 2024-10-10 21:06:35

SQL SERVER中强制类型转换cast和convert的相关文章

SQL SERVER中强制类型转换cast和convert的区别

在SQL SERVER中,cast和convert函数都可用于类型转换,其功能是相同的, 只是语法不同. cast一般更容易使用,convert的优点是可以格式化日期和数值. 1 select CAST('123' as int) -- 123 2 select CONVERT(int, '123') -- 123 3 4 select CAST(123.4 as int) -- 123 5 select CONVERT(int, 123.4) -- 123 6 7 select CAST('1

SQL Server 2000 函数使用---CAST 和 CONVERT

本文来自:http://www.cnblogs.com/xh831213/category/47654.html 将某种数据类型的表达式显式转换为另一种数据类型.CAST 和 CONVERT 提供相似的功能. 语法 使用 CAST: CAST ( expression AS data_type ) 使用 CONVERT: CONVERT (data_type[(length)], expression [, style]) 参数 expression 是任何有效的 Microsoft® SQL

SQL Server中时间格式转换函数convert()的使用

convert(varchar(10),字段名,转换格式) CONVERT为日期转换函数,一般就是在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到:函数的3个参数:第1个参数为转换后的大:第2个为转换日期的字段或函数:第3个为转换的格式. 具体例子: SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2011 10:57AM SELECT CONV

SQL Server 中CAST和Convert的区别

在 SQL Server 中Cast和Convert都是将表达式由一种数据类型转换为另一种数据类型.由于SQL Server提供两种功能,因此应该选择哪种功能或应该在哪种情况下使用该功能就很容易让人困惑了.CONVERT是专对SQL Server使用的,使日期与时间值,小数之间转换具有更宽的灵活性.CAST是两种功能中更具ANSI标准的功能,即虽然更具便携性(比如,使用CAST的函数能更容易的被其它数据库软件使用),但功能相对弱一些.不过,当小数转化为数值,并保留原始表达式中的小数数值时,仍然需

MS SQL Server中的CONVERT日期格式化大全

CONVERT 函数将某种数据类型的表达式显式转换为另一种数据类型.SQL Server中 将日期格式化. SQL Server 支持使用科威特算法的阿拉伯样式中的数据格式. 在表中,左侧的两列表示将 datetime 或 smalldatetime 转换为字符数据的 style 值.给 style 值加 100,可获得包括世纪数位的四位年份 (yyyy). 不带世纪数位 (yy) 带世纪数位 (yyyy) 标准 输入/输出** - 0 或 100 (*) 默认值 mon dd yyyy hh:

SQL Server中使用convert进行日期转换

SQL Server中使用convert进行日期转换 一般存入数据库中的时间格式为yyyy-mm-ddhh:mm:ss 如果要转换为yyyy-mm-dd  短日期格式.可以使用convert函数.下面是sqlserver帮助中关于convert函数的声明: 使用 CONVERT: CONVERT (data_type[(length)],expression[,style]) 参数 expression 是任何有效的 Microsoft® SQL Server™ 表达式.data_type 目标

SQL Server中一些有用的日期sql语句

1.一个月第一天的 SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) 2.本周的星期一 SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0) 3.一年的第一天 SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0) 4.季度的第一天 SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0) 5.当天的半夜 SELECT DATEAD

SQL Server 中VARCHAR(MAX)变量赋值引起的性能问题。

案例环境: 操作系统版本 : Windows Server 2008 R2 Standard  SP1 数据库版本   :  Microsoft SQL Server 2012 (SP1) - 11.0.3000.0 (X64) 案例介绍: 由于不能将生产环境的代码和数据贴上来,所以我构造了下面一个小案例,当然没法和生产环境的案例一致.只能是接近而已.但是足以反映问题本质就足够了. DROP TABLE ProductPrice;   GO   CREATE TABLE ProductPrice

SQL SERVER中什么情况会导致索引查找变成索引扫描

SQL Server 中什么情况会导致其执行计划从索引查找(Index Seek)变成索引扫描(Index Scan)呢? 下面从几个方面结合上下文具体场景做了下测试.总结.归纳. 1:隐式转换会导致执行计划从索引查找(Index Seek)变为索引扫描(Index Scan) Implicit Conversion will cause index scan instead of index seek. While implicit conversions occur in SQL Serve