mybatis学习(21):MySQL 字符串 转换 CAST与CONVERT 函数的用法

简介: mybatis学习(21):MySQL 字符串 转换 CAST与CONVERT 函数的用法

MySQL 的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值。两者具体的语法如下:

Sql代码  

CAST(value as type);  
 CONVERT(value, type);  
  就是CAST(xxx AS 类型), CONVERT(xxx,类型)。

Sql代码  

mysql> SELECT CAST('3.35' AS signed);  
 +------------------------+  
 | CAST('3.35' AS signed) |  
 +------------------------+  
 |                      3 |  
 +------------------------+  
 1 row in set

 

可以转换的类型是有限制的。这个类型可以是以下值其中的一个:

   二进制,同带binary前缀的效果 : BINARY    

   字符型,可带参数 : CHAR()      

   日期 : DATE      

   时间: TIME      

   日期时间型 : DATETIME      

   浮点数 : DECIMAL      

   整数 : SIGNED      

   无符号整数 : UNSIGNED  

下面举几个例子:

例一

Sql代码  

mysql> SELECT CONVERT('23',SIGNED);  
 +----------------------+  
 | CONVERT('23',SIGNED) |  
 +----------------------+  
 |                   23 |  
 +----------------------+  
 1 row in set

例二

Sql代码  例二

Sql代码  

mysql> SELECT CAST('125e342.83' AS signed);  
 +------------------------------+  
 | CAST('125e342.83' AS signed) |  
 +------------------------------+  
 |                          125 |  
 +------------------------------+  
 1 row in set

例三

Sql代码  

mysql> SELECT CAST('3.35' AS signed);  
 +------------------------+  
 | CAST('3.35' AS signed) |  
 +------------------------+  
 |                      3 |  
 +------------------------+  
 1 row in set

像上面例子一样,将varchar 转为int 用 cast(a as signed),其中a为varchar类型的字符串。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
SQL Java 数据库连接
MyBatis动态SQL字符串空值判断,这个细节99%的程序员都踩过坑!
本文深入探讨了MyBatis动态SQL中字符串参数判空的常见问题。通过具体案例分析,对比了`name != null and name != ''`与`name != null and name != ' '`两种写法的差异,指出后者可能引发逻辑混乱。为避免此类问题,建议在后端对参数进行预处理(如trim去空格),简化MyBatis判断逻辑,提升代码健壮性与可维护性。细节决定成败,严谨处理参数判空是写出高质量代码的关键。
2121 0
|
关系型数据库 MySQL 索引
mysql中EXISTS用法注意点
mysql中EXISTS用法注意点
|
关系型数据库 MySQL
MySQL字符串拼接方法全解析
本文介绍了四种常用的字符串处理函数及其用法。方法一:CONCAT,用于基础拼接,参数含NULL时返回NULL;方法二:CONCAT_WS,带分隔符拼接,自动忽略NULL值;方法三:GROUP_CONCAT,适用于分组拼接,支持去重、排序和自定义分隔符;方法四:算术运算符拼接,仅适用于数值类型,字符串会尝试转为数值处理。通过示例展示了各函数的特点与应用场景。
|
SQL 关系型数据库 MySQL
Mysql-常用函数及其用法总结
以上列举了MySQL中一些常用的函数及其用法。这些函数在日常的数据库操作中非常实用,能够简化数据查询和处理过程,提高开发效率。掌握这些函数的使用方法,可以更高效地处理和分析数据。
551 19
|
数据采集 关系型数据库 MySQL
MySQL常用函数:IF、SUM等用法
本文介绍了MySQL中常用的IF、SUM等函数及其用法,通过具体示例展示了如何利用这些函数进行条件判断、数值计算以及复杂查询。同时,文章还提到了CASE WHEN语句和其他常用函数,如COUNT、AVG、MAX/MIN等,强调了它们在数据统计分析、数据清洗和报表生成中的重要性。
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
3244 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
存储 SQL 关系型数据库
mysql用法
mysql用法
304 4
|
前端开发 Java 数据库连接
表白墙/留言墙 —— 中级SpringBoot项目,MyBatis技术栈MySQL数据库开发,练手项目前后端开发(带完整源码) 全方位全步骤手把手教学
本文是一份全面的表白墙/留言墙项目教程,使用SpringBoot + MyBatis技术栈和MySQL数据库开发,涵盖了项目前后端开发、数据库配置、代码实现和运行的详细步骤。
569 0
表白墙/留言墙 —— 中级SpringBoot项目,MyBatis技术栈MySQL数据库开发,练手项目前后端开发(带完整源码) 全方位全步骤手把手教学
|
存储 自然语言处理 关系型数据库
MySQL的match用法说明
MySQL的match用法说明
991 4
|
SQL Java 关系型数据库
mybatis中<if>条件判断带数字的字符串失效问题
MySQL数据库使用Mybatis查询拼接select语句中进行`<if>条件拼接`的时候,发现带数字的或者带单个字母的字符串失效问题。 举例说明:我`Log对象`有个属性`accountId是字符串类型`,假设我给它赋值为“1”,按常理sql拼接的`应该是and account_name = 'unmadmin'` ,然而实际判断拼接的`却是and account_name != 'unmadmin'`,明显感觉问题出在这里`and log.accountId == '1'` 这里校验失败了,或者说失效了,估计很多人会踩坑,那么为什么呢?不应该啊?所以此刻就是为了定位它原因。
783 1

推荐镜像

更多