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

一、语法:
  CAST (expression AS data_type)
  参数说明:
  expression:任何有效的SQServer表达式。
  AS:用于分隔两个参数,在AS之前的是要处理的数据,在AS之后是要转换的数据类型。
  data_type:目标系统所提供的数据类型,包括bigint和sql_variant,不能使用用户定义的数据类型。

  用CAST函数进行数据类型转换时,在下列情况下能够被接受:
  (1)两个表达式的数据类型完全相同。
  (2)两个表达式可隐性转换。
  (3)必须显式转换数据类型。
  如果试图进行不可能的转换(例如,将含有字母的 char 表达式转换为 int 类型),SQServer 将显示一条错误信息。
  如果转换时没有指定数据类型的长度,则SQServer自动提供长度为30。

二、注意事项:

(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

实例:

select * from vrv_paw_genuineManagementStatic where softId=8 ORDER BY cast(version AS decimal(9,2)) desc limit 0,1

select max(CAST(version AS DECIMAL(9,2))) from vrv_paw_genuineManagementStatic where softId=8

总结:

  cast()主要用于类型转换;在sql中转换用于比较大小排序比较多;对于小数,注意使用cast(n as decimal(9,2))。

SQL中的cast()函数相关推荐

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

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

  2. sql 中的cast 函数 和 nvl函数的知识点

    cast的知识点: CAST()函数可以进行数据类型的转换. CAST()函数的参数有两部分,源值和目标数据类型,中间用AS关键字分隔.CAST函数语法规则是:Cast(字段名 as 转换的类型 ), ...

  3. SQL中的cast 和convert的区别,日期操作

    SQL Server 日期格式和日期操作 SQL Server发展至今, 1.关于日期的格式的控制方法, 有传统的方法,比如CONVERT(), 也有比较便利的新方法,比如FORMAT(): eg: ...

  4. 在SQL中使用CRL函数示例

    在SQL中使用CRL函数 实验目标: 1. 在SQL中创建CRL函数,使之能够向指定的计算机发送消息 实验步骤 2. 在VS中创建类发送消息的类 3. 将以下代码黏贴进去 using System; ...

  5. sql 精读(二) 标准 SQL 中的编号函数

    标准 SQL 中的编号函数 以下部分介绍了 BigQuery 支持的编号函数.编号函数是分析函数的一部分. 如需了解分析函数的工作原理,请参阅分析函数概念.如需了解编号函数的工作原理,请参阅编号函数概 ...

  6. sql中截取字符串函数_SQL Server 2017中的顶级SQL字符串函数

    sql中截取字符串函数 SQL Server 2017 has been in the talk for its many features that simplify a developer's l ...

  7. oracle同sql中isnull无法,SQL中的ISNULL函数使用介绍

    这篇文章主要为大家详细介绍了SQL中的ISNULL函数使用介绍,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! ISNULL 使用指定的替换值替换 ...

  8. SQL 中的 COALESCE 函数初学者指南

    "合并"这个词的意思是合并或聚集在一起,它源自拉丁语"coalescere",意思是"一起成长".在 SQL 中的 COALESCE 函数上 ...

  9. SQL 中的 TRIM 函数

    SQL 中的 TRIM 函数是用来移除掉一个字串中的字头或字尾.最常见的用途是移除字首或字尾的空白.这个函数在不同的资料库中有不同的名称: MySQL: TRIM( ), RTRIM( ), LTRI ...

最新文章

  1. 40款奇特的名片设计,吸引大家的眼球《上篇》
  2. 跨年操作--new Date()
  3. 发布一个免费漂亮的仿Outlook风格、支持换肤的通用界面框架
  4. 解决bootstrap dropdown 下拉菜单有时候不能显示的问题
  5. Java 集合源码分析
  6. 废旧手机变身服务器,打造私人云盘
  7. 判断手机横屏和竖屏方向
  8. 设计和实现一款轻量级的爬虫框架
  9. 极速接入港交所OMD-C 港股L2数据,JAR WebSocket API获取数据
  10. 第一次软工作业(数独)
  11. 优课在线 实境英语作业1Unit 1-5
  12. Buct oj 1015
  13. 智联招聘python抓包
  14. HTML打造动漫人物,好莱坞顶级制作联袂打造!《和平精英》首部官方角色·吉莉 动画短片发布...
  15. html框架iframe菜鸟,HTML DOM Frame/IFrame frameBorder 属性 | 菜鸟教程
  16. Educational Codeforces Round 101 A~D
  17. 智能电子棋盘产品分析
  18. Android:让手机成为你的移动生活助手
  19. 数据分析之前程无忧(一)
  20. xuri网吧开机脚本

热门文章

  1. php表单网页实例,40多个漂亮的网页表单设计实例_HTML/Xhtml_网页制作
  2. springboot前端长轮询使用多线程异步执行任务
  3. python中的pylab_Python使用pylab库实现画线功能的方法详解
  4. Springboot毕设项目房产中介管理yjk0hjava+VUE+Mybatis+Maven+Mysql+sprnig)
  5. 非零基础自学Golang 第1章 走进Go 1.1 Go编程语言概述 1.1.2 Go 语言特性及应用场景
  6. Redis二三事之事前预防和事中恢复
  7. 一台主机几个服务器系统吗,一台主机几个服务器系统吗
  8. python实现通过百度地图API获得地铁站经纬度(详细教程)
  9. 坑爹项目「spring-cloud-alibaba」,我们也来一个
  10. python自动化测试实战 无涯_Python自动化测试实战