(1).CAST()函数的参数是一个表达式,它包括用AS关键字分隔的源值和目标数据类型。以下例子用于将文本字符串'12'转换为整型:

SELECT CAST('12' AS int)

(2).返回值是整型值12。如果试图将一个代表小数的字符串转换为整型值,又会出现什么情况呢?

SELECT CAST('12.5' AS int)

(3).CAST()函数和CONVERT()函数都不能执行四舍五入或截断操作。由于12.5不能用int数据类型来表示,所以对这个函数调用将产生一个错误:

Server: Msg 245, Level 16, State 1, Line 1

Syntax error converting the varchar value

'12.5' to a column of data type int.

(4).要返回一个合法的数值,就必须使用能处理这个值的数据类型。对于这个例子,存在多个可用的数据类型。如果通过CAST()函数将这个值转换为decimal类型,需要首先定义decimal值的精度与小数位数。在本例中,精度与小数位数分别为9 与2。精度是总的数字位数,包括小数点左边和右边位数的总和。而小数位数是小数点右边的位数。这表示本例能够支持的最大的整数值是9999999,而最小的小数是0.01。

SELECT CAST('12.5' AS decimal(9,2))

decimal数据类型在结果网格中将显示有效小数位: 12.50

(5).精度和小数位数的默认值分别是18与0。如果在decimal类型中不提供这两个值,SQL Server将截断数字的小数部分,而不会产生错误。

SELECT CAST('12.5' AS decimal)

结果是一个整数值:12

(6).在表的数据中转换数据类型是很简单的。下面的例子使用Product表,首先执行如下查询:

SELECT ProductNumber, ProductLine, ProductModelID

FROM Production.Product

ProductSubCategoryID < 4

(7).假定产品经理已经创建了一个系统,用于唯一地标识生产出来的每辆自行车,以便跟踪其型号、类型和类别。他决定合并产品号、产品生产线标识符、产品型号标识符和一个顺序号,为生产出来的每辆自行车创建一个唯一的序列号。在这个过程的第一步,他要求提供包括除顺序号之外的所有属性的所有可能产品的根标识符。

如果使用下面的表达式,就不能得到希望的结果,如图6-2所示。

1.SELECT ProductNumber

2.+ '-'

3.+ ProductLine

4.+ '-'

5.+ ProductModelID AS BikeSerialNum

6.FROM Production.Product

7.WHERE ProductSubCategoryID < 4

我们没有得到希望的结果,而得到了有点奇怪的错误消息:请把nvarchar值转换为 int。因为之前我们没有要求进行任何转换,所以这个错误很奇怪。这个查询的问题在于我们试图利用第一个连接符来连接字符值ProductNumber,利用第二个连接符连接另一个字符值ProductLine,最后连接的是ProductModelID字符值(它是一个整数)。

查询引擎会把连接符当成一个数学运算符,而不是一个字符。不管结果是什么,都需要更正这个表达式,以确保使用正确的数据类型。以下表达式执行了必要的类型转换,返回如图6-3所示的结果:

  1. SELECT ProductNumber
  2. + '-'
  3. + ProductLine
  4. + '-'
  5. + CAST(ProductModelID AS char(4)) AS BikeSerialNum
  6. FROM Production.Product
  7. WHERE ProductSubCategoryID < 4

如果把整型值转换为字符类型就不会增加多余的空格了。查询引擎将把这些值用加号和连接符组合在一起,进行字符串连接运算,而不是和前面的数值进行加法或者减法运算了。

转载于:https://www.cnblogs.com/xwnet/archive/2012/02/24/2366804.html

sql cast()函数相关推荐

  1. sql cast函数

    一.语法: CAST (expression AS data_type) 参数说明: expression:任何有效的SQLServer表达式. AS:用于分隔两个参数,在AS之前的是要处理的数据,在 ...

  2. mysql cast as_Mysql SQL CAST()函数

    (1).CAST()函数的参数是一个表达式,它包括用AS关键字分隔的源值和目标数据类型.以下例子用于将文本字符串'12'转换为整型: SELECT CAST('12' AS int) (2).返回值是 ...

  3. sql etl_使用SQL TRY函数进行ETL优化

    sql etl 介绍 (Introduction) An enterprise data warehouse ETL solution typically includes, amongst othe ...

  4. SQL转换函数(CAST 和 CONVERT)

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 如果 S ...

  5. SQL中的cast()函数

    CAST函数用于将某种数据类型的表达式显式转换为另一种数据类型.CAST()函数的参数是一个表达式,它包括用AS关键字分隔的源值和目标数据类型. 一.语法: CAST (expression AS d ...

  6. Oracle的Cast的用法,cast函数(sql中cast函数用法)

    这是一个格式转换函数.里面有两个参数:cast[要转换的数据或公式 as 转换到的数据类型] 同类函数还有convert[数据类型,要转换的数据或公式] CAST()和CONVERT()函数的区别是什 ...

  7. SQL Server学习笔记5——CAST函数

    1.CAST函数的作用: 1.格式化小数的位数 2.数据类型转换(例如:char转int) CAST函数语法格式 CAST(expression AS data_type) expression:任何 ...

  8. sql server中cast函数

    导读: CAST函数用于将某种数据类型的表达式显式转换为另一种数据类型.CAST()函数的参数是一个表达式,它包括用AS关键字分隔的源值和目标数据类型. 一.语法: CAST (expression ...

  9. 计算机cast函数是什么意思,SQL中的cast()函数介绍

    CAST函数用于将某种数据类型的表达式显式转换为另一种数据类型.CAST()函数的参数是一个表达式,它包括用AS关键字分隔的源值和目标数据类型. 语法: CAST (expression AS dat ...

最新文章

  1. docker 使用挂载运行tomcat
  2. python替换字符串内容
  3. Eureka VS Zookeeper
  4. Qt Dock Widgets 官方示例的翻译
  5. mysql 讲义_MySQL 讲义
  6. C++ IO类(3) 文件流
  7. 为什么dubbo的调用重试不建议设置成超过1
  8. 动手学习深度学习的PDF电子版
  9. 关于瑞萨RH850中断的异常处理函数地址Exception Handler Address的理解
  10. wps2019将表格数据转换成工资条的操作方法
  11. Python Selenium 抓取Shadow Dom内部元素方法更新
  12. tf.train.Saver()
  13. IgA | 对抗病原菌,帮助共生菌定植的“重要开关”
  14. 快速上手ECharts,让你的数据不再冷冰!
  15. 【前端领域】3D旋转超美相册(HTML+CSS)
  16. WPF 基于 WER 注册应用崩溃无响应回调和重启方法
  17. cisco 模拟器安装及交换机的基本配置实验心得_「分享」7个必看的Cisco实验
  18. 公众号seo发表文章,seo公众号文章
  19. 骁龙695和天玑900处理器哪个好
  20. 图片按钮+自定义形状

热门文章

  1. IOS-—UICollectionView使用综述(一 )(基础篇--垂直列表方式,横向相册方式)
  2. Android ListView下拉与上拉刷新加载更多(一)
  3. Block循环引用问题(Objective-c)
  4. [网络流24题] 最长递增子序列
  5. android5.1移植记录
  6. 基于spring-redis发布订阅模式的实现
  7. JNI系列(1):基础篇
  8. Vue版todolist案例
  9. 移动站原生的select实现省市区联动选择
  10. 相机标定(2)opencv2实现