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

MySQL CAST()函数用法

一、语法

  • expr:源数据,如字符串’China’。
  • type:目标数据类型,例如CHAR。
cast(expr AS type)

二、命令说明

将任何类型的值转换为具有指定类型的值。 CAST()函数通常用于返回具有指定类型的值,以便在WHERE,JOIN和HAVING子句中进行比较。

目标类型可以是以下类型之一:

  • CHAR(字符类型)
  • DATE(日期类型)
  • DATETIME(日期时间类型)
  • TIME(时间类型)
  • DECIMAL(float 类型)
  • SIGNED(带符号的int 类型,可以表示正数、负数或0。在默认情况下声明的整型变量都是有符号的类型)
  • UNSIGNED (无符号的int 类型,仅能表示大于等于0的值)

三、例子

1.cast (expr AS CHAR)

例如,将date类型的数据转换为CHAR类型,语句如下:

SELECT cast(SYSDATE() AS CHAR) FROM dual; --结果:2023-02-15 15:03:24

2.cast (expr AS DATE)

例如1,将date类型的数据转换为DATE类型,语句如下:

SELECT cast(SYSDATE() AS DATE) FROM dual;--结果:2023-02-15

例如2,将其他类型的数据转换为DATE类型,语句如下:

SELECT cast('12345' AS DATE) FROM dual;--结果:null

3.cast (expr AS DATETIME)

例如1,将date类型的数据转换为DATETIME类型,语句如下:

SELECT cast(SYSDATE() AS DATETIME) FROM dual;--结果:2023-02-15 15:03:24

例如2,将其他类型的数据转换为DATETIME类型,语句如下:

SELECT cast('12345' AS DATETIME) FROM dual;--结果:null

4.cast (expr AS TIME)

例如1,将date类型的数据转换为TIME类型,语句如下:

SELECT cast(SYSDATE() AS TIME) FROM dual;--结果:15:03:24

例如2,将其他类型的数据转换为TIME类型,语句如下:

SELECT cast('12345' AS TIME) FROM dual;--结果:01:23:45
SELECT cast(2633 AS TIME) FROM dual;--结果:00:26:33
SELECT cast('45678' AS TIME) FROM dual;--结果:null

5.cast (expr AS DECIMAL)

例如,将其他类型的数据转换为DECIMAL类型,语句如下:

SELECT cast(0.6 AS DECIMAL) FROM dual;--结果:1
SELECT cast(0.3 AS TIME) FROM dual;--结果:0

6.cast (expr AS SIGNED INT)

例如,将其他类型的数据转换为SIGNED 类型,语句如下:

SELECT cast(SYSDATE() AS SIGNED INT) FROM dual;--结果:20230215151407
SELECT cast(-1 AS SIGNED INT) FROM dual;--结果:-1
SELECT cast(1 AS SIGNED INT) FROM dual;--结果:1

7.cast (expr AS UNSIGNED INT)

例如,将其他类型的数据转换为UNSIGNED 类型,语句如下:

SELECT cast(SYSDATE() AS UNSIGNED INT) FROM dual;--结果:20230215151407
SELECT cast(-1 AS UNSIGNED INT) FROM dual;--结果:1844
SELECT cast(1 AS UNSIGNED INT) FROM dual;--结果:1

当根据id排序,id为varchar类型时,可以cast()函数。
在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/8096.html

相关文章:

  • 【测试工程师面试】详细记录 自己的一次面试
  • Elasticsearch 安装(二)
  • Java基础:异常与错误(ExceptionError)
  • VAmPI:一个包含了OWASP Top10漏洞的REST API安全学习平台
  • springboot(6)之前端传递参数的方式 普通 集合 数组
  • redis分布式锁的演变过程
  • leaflet 修改popup的样式,个性化弹窗(069)
  • 注解ConfigurationProperties、EnableConfigurationProperties的用法
  • 自适应布局之淘宝无限适配+rem+微信rpx自适应
  • esxi不能识别不兼容网卡解决方案
  • Sizeof与Strlen的区别与联系
  • 力扣(LeetCode)413. 等差数列划分(2023.02.15)
  • 蓝桥杯刷题——基础篇(一)
  • Java基础知识快速盘点(三)
  • vscode编程小插件之Doxygen和Better Align
  • 指 针
  • 安卓小游戏:俄罗斯方块
  • NC113 验证IP地址
  • 珠宝企业如何利用私域实现业绩增长?
  • 回收站清空了还能找回来吗?回收站恢复的4个方法(最全)
  • 深度解析React性能优化API
  • 算法刷题打卡第91天:统计一个圆中点的数目
  • sentinel持久化方案
  • 软件项目进度安排与跟踪:关键路径的计算
  • mac m2 处理器 iterm2 sz rz 出错/无限重试
  • Mysql 与 磁盘交互的过程
  • Spring Cloud Gateway集成Nacos实现负载均衡
  • Excel图表教程_编程入门自学教程_菜鸟教程-免费教程分享
  • 2023最新的接口自动化测试面试题
  • AcWing语法基础课笔记 第一章 C++入门及简单的顺序结构