广告
返回顶部
首页 > 资讯 > 数据库 >MySQL显式类型转换实例
  • 658
分享到

MySQL显式类型转换实例

2024-04-02 19:04:59 658人浏览 薄情痞子
摘要

小编给大家分享一下Mysql显式类型转换实例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!undefined在之前的文章中,我们

小编给大家分享一下Mysql显式类型转换实例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

undefined

在之前的文章中,我们提到过CAST函数,用于显示进行类型转换。在避免隐式类型转换时,好处多多。其实这里面还有很多细节,是需要梳理下的。本文主要介绍了mysql显式类型转换的基础知识,通过实例给出了分析结果,一起学习下吧。

首先来看看下面这个转换:

mysql> SELECT CAST('2017-12-14' AS DATE);
+----------------------------+
| CAST('2017-12-14' AS DATE) |
+----------------------------+
| 2017-12-14         |
+----------------------------+
1 row in set (0.00 sec)

其中:

2017-12-14 是待转换的数据。

DATE为转换后的类型。

标准语法是这样的:

CAST(expr AS type)

这里需要注意的是type类型不支持所有的数据类型,而是支持特定的数据类型,也是今天这篇文章的重点。(我就吃过这个亏,想当然的以为支持所有数据类型,结果就被打脸了) 。

不支持的报错:

mysql> SELECT CAST('1024' AS int);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'int)' at line 1

支持的类型

下面是CAST函数支持转换的数据类型列表:

类型 备注
DATE YYYY-MM-DD
DATETIME YYYY-MM-DD HH:mm:ss
TIME HH:mm:ss
DECIMAL 通常用于带小数位
CHAR 固定长度字符串
NCHAR 类型于CHAR一致
SIGNED 一个有符号的64整数位
UNSIGNED 一个无符号的64整数位
BINARY 二进制字符串
JSON MySQL 5.7.8 及更高版本

注意:

其中DATE支持的范围是: 1000-01-01 至 9999-12-31,(实验版本为:)

如果为: 999-01-01 结果则会0999-01-01。

如果为: 01-01-01则会为:2001-01-01。

mysql> select cast('999-11-11' as DATE);
+---------------------------+
| cast('999-11-11' as DATE) |
+---------------------------+
| 0999-11-11        |
+---------------------------+
1 row in set (0.00 sec)
mysql> select cast('01-11-11' as DATE);
+--------------------------+
| cast('01-11-11' as DATE) |
+--------------------------+
| 2001-11-11        |
+--------------------------+
1 row in set (0.00 sec)
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.20  |
+-----------+
1 row in set (0.00 sec)

2. CAST函数中expr的值可以转换为type,其转换的结果才正确,否则转换后的结果默认值,如Null,0等。

例如:一个Char类型转换为Demical类型,转换的结果就为0。

mysql> SELECT CAST('ANDYQIAN' AS DECIMAL);
+-----------------------------+
| CAST('ANDYQIAN' AS DECIMAL) |
+-----------------------------+
|              0 |
+-----------------------------+
1 row in set, 1 warning (0.00 sec)

转换案例

这里给出一些常用的类型转换例子。

DATE 类型

mysql> select cast('2017-12-14' as DATE);
+----------------------------+
| cast('2017-12-14' as DATE) |
+----------------------------+
| 2017-12-14         |
+----------------------------+
1 row in set (0.00 sec)

TIME 类型

mysql> select cast('12:00:00' as TIME);
+--------------------------+
| cast('12:00:00' as TIME) |
+--------------------------+
| 12:00:00         |
+--------------------------+
1 row in set (0.00 sec)

DATETIM 类型

mysql> select cast('2017-12-14 00:11:11' as DATETIME);
+-----------------------------------------+
| cast('2017-12-14 00:11:11' as DATETIME) |
+-----------------------------------------+
| 2017-12-14 00:11:11           |
+-----------------------------------------+
1 row in set (0.00 sec)

SIGNED类型

mysql> select cast('-1024' as SIGNED);
+-------------------------+
| cast('-1024' as SIGNED) |
+-------------------------+
|          -1024 |
+-------------------------+
1 row in set (0.00 sec)

UNSIGNED类型

mysql> select cast('-1024' as UNSIGNED);
+---------------------------+
| cast('-1024' as UNSIGNED) |
+---------------------------+
|   18446744073709550592 |
+---------------------------+
1 row in set, 1 warning (0.00 sec)

DECIMAL类型

mysql> select cast('18.11' as DECIMAL(18,2));
+--------------------------------+
| cast('18.11' as DECIMAL(18,2)) |
+--------------------------------+
|             18.11 |
+--------------------------------+
1 row in set (0.00 sec)

以上是“MySQL显式类型转换实例”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL显式类型转换实例

本文链接: https://www.lsjlt.com/news/54917.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL显式类型转换实例
    小编给大家分享一下MySQL显式类型转换实例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!undefined在之前的文章中,我们...
    99+
    2022-10-18
  • MySQL显式类型转换的示例分析
    小编给大家分享一下MySQL显式类型转换的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!CAST 函数在之前的文章中,我...
    99+
    2022-10-18
  • C#数据类型转换(显式转型、隐式转型、强制转型)
    C# 的类型转换有显式转型 和 隐式转型 两种方式。 显式转型:有可能引发异常、精确度丢失及其他问题的转换方式。需要使用手段进行转换操作。隐式转型:不会改变原有数据精确度、引发异常,...
    99+
    2022-11-12
  • C#类型转换之自定义隐式转换和显式转换
    目录前言基础知识示例代码实际应用问题答案报错其他应用和设计读音前言 有时我们会遇到这么一种情况:在json数据里,数组里的数据类型不一致,导致我们不能直接反序列化为目标类型。最终我们...
    99+
    2022-11-13
  • mysql类型转换
    语法: CAST (expr AS type) 类型: BINARY # 二进制字符串 CHAR(n) # 普通字符串 DATE # ...
    99+
    2022-10-18
  • MySQL-数据类型隐式转换
    MySQL-数据类型隐式转换 关键字问题描述解决问题思路问题总结 关键字 数据类型不同导致隐式转换 问题描述 SQL 一: select id,sku,weight,image_...
    99+
    2023-09-08
    mysql sql
  • go 类型转换方式(interface 类型的转换)
    go 在做类型转换时,报错: cannot convert m (type interface {}) to type Msg: need type assertion 原...
    99+
    2022-06-07
    GO interface 类型转换
  • C#类型转换实例分析
    这篇“C#类型转换实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#类型转换实例分析”文章吧。C# 类型转...
    99+
    2023-06-17
  • JavaScript隐式类型转换例子总结
    目录前言ToStringToNumberToBooleanToPrimitive运算符 +逻辑判断相关== 宽松对等规则1. 字符串和数字之间的相等比较2. 其他类型和布尔类型的相等...
    99+
    2022-11-13
    JavaScript隐式类型转换 JavaScript隐式类换
  • MySQL如何实现类型转换
    这篇文章主要介绍了MySQL如何实现类型转换,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。类型转换命令: CAST(expr AS type...
    99+
    2022-10-19
  • go类型转换及与C的类型转换方式
    GO类型转换及与C的类型转换 类型转换 语法 dst := float32(src) 示例 var num int = 520 f32 := float32(num) i6...
    99+
    2022-06-07
    GO
  • mysql存在哪些隐式类型转换
    mysql存在的隐式类型转换有字符串到数值类型、日期和时间类型、浮点数和整数类型、NULL值等。详细介绍:1、字符串到数值类型的隐式类型转换,当一个字符串和一个数值类型的值进行比较或计算时,MySQL会将字符串转换为数值类型;2、日期和时间...
    99+
    2023-11-14
    mysql 隐式类型转换
  • C语言基础隐式类型转换与强制类型转换示例解析
    目录类型转换隐式类型转换强制类型转换类型转换 数据有不同的类型,不同类型数据之间进行混合运算时必然涉及到类型的转换问题。 转换包括隐式类型转换和强制类型转换。 类型转换的原则:占用内...
    99+
    2022-11-12
  • struts2中类型转换实例代码
    类型转换        所有的页面与控制器传递的数据都是String类型,在对其进行处理时可能会用到各种的数据类型,程序无法自动完成数据类型的转换,这就需要我们在代码中进...
    99+
    2023-05-31
    struts2 类型转换 中类
  • GoFrame框架Scan类型转换实例
    目录前言方法定义自动识别转换Struct结构体示例代码运行结果自动识别转换Struct数组示例代码运行结果自动识别转换Map示例代码运行结果自动识别转换Map数组示例代码运行结果总结...
    99+
    2022-11-13
  • [Java List类型和Map类型想换转换案例]
    目录 1. List转Map 2. Map转List 3. List转Map并保留重复Key 4. Map转List并保留Key值 5 简单版 可以通过遍历List,将List中的元素转换为Map中的键值对 6:通过遍历Map,将Map中...
    99+
    2023-09-11
    java 开发语言
  • ORACLE隐式类型转换
      隐式类型转换简介   通常ORACLE数据库存在显式类型转换(Explicit Datatype Conversion)和隐式类型转换(Implicit Datatype Conversion)两种类型转换方式。如果进行比较或...
    99+
    2020-03-25
    ORACLE隐式类型转换
  • mysql 数据类型转换的实现
    一、问题 有一张如下图所示的表,需要我们查出 result 值大于 reference_high值的数据 然后我们写了下面的SQL查询语句 SELECT i.result,i.reference_hig...
    99+
    2022-05-25
    mysql 数据类型转换 mysql 转换数据类型
  • Golang泛型实现类型转换的方法实例
    目录1.前言2.To String3.To Other Type3.泛型4.使用示例5.go-huge-util参考文献总结1.前言 Golang 标准库提供了很多类型转换的函数,如...
    99+
    2022-12-30
    Golang泛型 golang数据类型转换 golang类型转换
  • PHP类型转换实例代码分析
    今天小编给大家分享一下PHP类型转换实例代码分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。基本数据类型首先,我们需要了解...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作