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

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

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

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索sql
, server
cast和convert的区别
mssql convert、mssql convert 日期、mssql convert date、cast和convert的区别、sql cast convert,以便于您获取更多的相关知识。

时间: 2024-09-15 16:19:47

SQL SERVER中强制类型转换cast和convert的区别详解_MsSql的相关文章

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

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

sql server中Select count(*)和Count(1)的区别和执行方式

    在SQL Server中Count(*)或者Count(1)或者Count([列])或许是最常用的聚合函数.很多人其实对这三者之间是区分不清的.本文会阐述这三者的作用,关系以及背后的原理.     往常我经常会看到一些所谓的优化建议不使用Count(* )而是使用Count(1),从而可以提升性能,给出的理由是Count( *)会带来全表扫描.而实际上如何写Count并没有区别.     Count(1)和Count(*)实际上的意思是,评估Count()中的表达式是否为NULL,如果为

sql server中Select count(*)和Count(1)的区别和执行方式_MsSql

    在SQL Server中Count(*)或者Count(1)或者Count([列])或许是最常用的聚合函数.很多人其实对这三者之间是区分不清的.本文会阐述这三者的作用,关系以及背后的原理.     往常我经常会看到一些所谓的优化建议不使用Count(* )而是使用Count(1),从而可以提升性能,给出的理由是Count( *)会带来全表扫描.而实际上如何写Count并没有区别.     Count(1)和Count(*)实际上的意思是,评估Count()中的表达式是否为NULL,如果为

SQL Server中临时表与表变量有什么区别

我们在数据库中使用表的时候,经常会遇到两种使用表的方法,分别就是使用临时表及表变量.在实际使用的时候,我们如何灵活的在存储过程中运用它们,虽然它们实现的功能基本上是一样的,可如何在一个存储过程中有时候去使用临时表而不使用表变量,有时候去使用表变量而不使用临时表呢? 临时表 临时表与永久表相似,只是它的创建是在Tempdb中,它只有在一个数据库连接结束后或者由SQL命令DROP掉,才会消失,否则就会一直存在.临时表在创建的时候都会产生SQLServer的系统日志,虽它们在Tempdb中体现,是分配

SQL Server中五个事务隔离有什么区别

园子里有很不错的介绍SQL Server事务隔离的文章,感觉很多都从概念入手介绍的,对那些初学者来说,看得见摸得 着的理解才深刻,故不再重复,重点在于实例演示上面. 首先解释下事务隔离是干什么的,一个事务的隔离级别控制了它怎么样影响其它事务和被其它事务所影响. 1.READ UNCOMMITTED,会导致脏读(能读取其它事务没有提交的更改)和不可重复读(事务读取的数据被其它事务 所修改,再次读取时不一致) 初始化: CREATE TABLE TranLevel (k int IDENTITY(1

基于SQL Server中char,nchar,varchar,nvarchar的使用区别_MsSql

对于程序中的一般字符串类型的字段,SQL Server中有char.varchar.nchar.nvarchar四种类型来对应,那么这四种类型有什么区别呢,这里做一下对比. 1.定长或变长 所谓定长就是长度固定,当要保存的数据长度不够时将自动在其后面填充英文空格,使长度达到相应的长度:有var前缀的,表示是实际存储空间是动态变化的,比如varchar,nvarchar变长字符数据则不会以空格填充. 2.Unicode或非Unicode 数据库中,英文字符只需要一个字节存储就足够了,但汉字和其他众

理解SQL SERVER中的逻辑读,预读和物理读_MsSql

SQL SERVER数据存储的形式       在谈到几种不同的读取方式之前,首先要理解SQL SERVER数据存储的方式.SQL SERVER存储的最小单位为页(Page).每一页大小为8k,SQL SERVER对于页的读取是原子性,要么读完一页,要么完全不读,不会有中间状态.而页之间的数据组织结构为B树(请参考我之前的博文).所以SQL SERVER对于逻辑读,预读,和物理读的单位是页.             SQL SERVER一页的总大小为:8K       但是这一页存储的数据会是:

SQL Server中聚合历史备份信息对比数据库增长的方法_MsSql

很多时候,在我们规划SQL Server数据库的空间,或向存储方面要空间时,都需要估算所需申请数据库空间的大小,估计未来最简单的办法就是看过去的趋势,这通常也是最合理的方式. 通常来讲,一个运维良好的数据库都需要做定期基线(baseline),有了基线才会知道什么是正常.一个简单的例子例如,一些人的血压平常偏低,那么80的低压对他来说就是不正常了.但现实情况是大多数系统并没有采集基线的习惯,因此在需要规划空间想要看历史增长时,就没有过去精确的数据了. 一个解决办法就是通过查看历史备份的大小来看过

sql server中通过查询分析器实现数据库的备份与恢复方法分享_MsSql

sql server的备份与恢复(查询分析器) 查询分析器: 命令: 1:备份数据库命令: backup database whdb1(要备份的数据库名) to disk='d:/zwh.bak'; 2:恢复数据库命令: restore database whdb1(要恢复的数据库名) from disk='d:/zwh.bak'; 3: 备份表的命令: select * into share_20090605(备份的数据) from share(表名); 作者 庄伟鸿