当前位置: 首页 > news >正文

SQL cast()函数

注意:本文使用数据库为:MySQL5.6
解析:
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 将显示一条错误信息。
注意
如果试图将一个代表小数的字符串转换为整型值,又会出现什么情况呢?

SELECT CAST('12.5' AS int)

CAST()函数和CONVERT()函数都不能执行四舍五入或截断操作。由于12.5不能用int数据类型来表示,所以对这个函数调用将产生一个错误:
在这里插入图片描述
解决
要返回一个合法的数值,就必须使用能处理这个值的数据类型。对于这个例子,存在多个可用的数据类型。如果通过CAST()函数将这个值转换为decimal类型,需要首先定义decimal值的精度与小数位数。在本例中,精度与小数位数分别为9 与2。精度是总的数字位数,包括小数点左边和右边位数的总和。而小数位数是小数点右边的位数。这表示本例能够支持的最大的整数值是9999999,而最小的小数是0.01。

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

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

SELECT CAST('12.5' AS decimal)
结果为 13

注意:在这个数据库版本会四舍五入,在其他版本可能不同,但用法相同
在这里插入图片描述

类型:
如果转换时没有指定数据类型的长度,则SQServer自动提供长度为30。
二进制,同带binary前缀的效果 : BINARY
字符型,可带参数 : CHAR()
日期 : DATE
时间: TIME
日期时间型 : DATETIME
浮点数 : DECIMAL
整数 : SIGNED
无符号整数 : UNSIGNED

例子:

1.SELECT CAST('9.0' AS decimal) 结果:9
在这里插入图片描述

2.SELECT CAST('9.5' AS decimal(10,2))
结果:9.50
注:(精度与小数位数分别为10与2。精度是总的数字位数,包括小数点左边和右边位数的总和。而小数位数是小数点右边的位数)

在这里插入图片描述

3.SELECT CAST(NOW() AS DATE)
结果:2017-11-27
在这里插入图片描述

http://www.xdnf.cn/news/846577.html

相关文章:

  • select简单使用
  • Unity移动应用如何在Bugly上查看崩溃堆栈
  • 【Python】【进阶篇】四、Python爬虫的URL编码/解码
  • ASCII码表完整版
  • Postman下载安装教程
  • XML简介及举例
  • 阿里图标库使用(Unicode)展示图标
  • pip基本使用
  • Linux基本指令(超详版)
  • Three.js学习1:threejs简介及文档本地部署
  • vscode使用git上传提交代码、比较代码(git基本操作)
  • 【雕爷学编程】Arduino智慧农业之精确控制温度、湿度和光照
  • Git的下载、安装与使用(Windows)
  • flex布局
  • 前端插件swiper基础使用详解含部分常用API
  • SSH服务
  • swagger接口测试工具介绍及使用
  • 00_简单常识介绍——NOIP/NOI/IOI(信息学奥林匹克竞赛)
  • zabbix监控
  • Apache Doris新手指南:10分钟内搭建数据分析引擎!_doris priority_netwoks(3)
  • 什么是LLM?看这一篇就够了!
  • Ping命令详解(使用Ping这命令来测试网络连通)
  • Token验证流程、代码示例、优缺点和安全策略,一文告诉你。
  • jQuery看这一篇就够啦,jQuery基础大全,可用于快速回顾知识,面试首选
  • Https连接过程详解
  • Linux - 安装 Jenkins(详细教程)
  • Python编程入门——透析八大核心知识点快速掌握Python编程
  • VirtualBox虚拟机与主机互传文件的五种方法
  • Docker 搭建 Minio 容器 (完整详细版)
  • ASCII码对照表