我是靠谱客的博主 专注嚓茶,最近开发中收集的这篇文章主要介绍mysql常用转换函数_MySQL常用类型转换函数有哪些 MySQL常用类型转换函数分享,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本篇文章小编给大家分享一下MySQL常用类型转换函数总结,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。

1、Concat函数。

连接字符串常用:concat函数。如sql查询条件的like查询,AND c.name like

concat(#{param.name},'%')

将Int 转为varchar经常用 concat函数,比如concat(8,'0') 得到字符串 '80'

2、Cast函数;CONVERT函数。

用法:CAST(expr AS type), CONVERT(expr,type) , CONVERT(expr USING

transcoding_name).

SELECT CONVERT('abc' USING utf8);

将varchar 转为Int 用 cast(str as unsigned) str为varchar类型的字符串 。

比如常用的百分比转换:

select cast((1/3)*100 as UNSIGNED) as percent from dual;

result: 33

MySQL类型转换函数参数 : CAST(xxx AS 类型) , CONVERT(xxx,类型)这个类型 可以是以下值其中的一个:

BINARY[(N)]

CHAR[(N)]

DATE

DATETIME

DECIMAL

SIGNED

[INTEGER]

TIME

UNSIGNED [INTEGER]

整数 : SIGNED

无符号整数 : UNSIGNED

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

字符型,可带参数 :

CHAR()

日期 : DATE

时间: TIME

日期时间型 : DATETIME

浮点数 :

DECIMAL

mysql> SELECT BINARY 'a' = 'A';

-> 0

3、IF函数

mysql中if是函数而不是命令

IF(expr1,expr2,expr3)

如果 expr1 为真(expr1 <> 0 以及 expr1 <>

NULL),那么 IF() 返回 expr2,否则返回 expr3。IF() 返回一个数字或字符串,这取决于它被使用的语境:

mysql> SELECT IF(1>2,2,3);

-> 3

mysql> SELECT IF(1<2,'yes','no');

-> 'yes'

mysql> SELECT IF(STRCMP('test','test1'),'no','yes');

-> 'no'

如果 expr2 或 expr3 明确地为 NULL,那么函数 IF() 的返回值类型为非 NULL 列的类型。(这在选择在 MySQL 4.0.3

中新加入)。 expr1 是作为一个整数值被计算的,这就意味着,如果测试的是一个浮点型或字符串值,就必须进行比较操作:

mysql> SELECT IF(0.1,1,0);

-> 0

mysql> SELECT IF(0.1<>0,1,0);

-> 1

在上面第一种情况下,IF(0.1) 返回 0,是因为 0.1 被转换为一个整数值,返回 IF(0)

的测试结果。这可能不是你所期望的。在第二种情况下,比较测试原浮点数是否为一个非零值。比较的结果被作为整数使用。 缺省的 IF() 返回值类型

(当结果存储在临时表中时,这是非常重要的) 在 MySQL 3.23 中按下列方式确定: 表达式 返回值

表达式(expr2)或表达式(expr3)返回值为字符串 字符串

表达式(expr2)或表达式(expr3)返回值为浮点型值 浮点型

表达式(expr2)或表达式(expr3)返回值为整型 整型

如果表达式(expr2)和表达式(expr3)均是字符串,同时两个字符串均是忽略字母大小写的,那么返回值也是忽略字母大小写的(从 MySQL

3.23.51 开始)。

最后

以上就是专注嚓茶为你收集整理的mysql常用转换函数_MySQL常用类型转换函数有哪些 MySQL常用类型转换函数分享的全部内容,希望文章能够帮你解决mysql常用转换函数_MySQL常用类型转换函数有哪些 MySQL常用类型转换函数分享所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部