Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 981|回复: 0

mysql字符、数字转换和连接函数

[复制链接]

该用户从未签到

发表于 2011-9-27 13:19:58 | 显示全部楼层 |阅读模式
CONV(N,from_base,to_base)   
在不同的数字基之间变换数字。返回数字N的字符串数字,从from_base基变换为to_base基,如果任何参数是NULL,返回NULL。参数N解释为一个整数,但是可以指定为一个整数或一个字符串。最小基是2且最大的基是36。如果to_base是一个负数,N被认为是一个有符号数,否则,N被当作无符号数。   CONV以64位点精度工作。   
mysql>   select   CONV( "a ",16,2);     //十六进制-> 二进制
                ->   '1010 '
mysql>   select   CONV( "6E ",18,8);
                ->   '172 '
mysql>   select   CONV(-17,10,-18);
                ->   '-H '
mysql>   select   CONV(10+ "10 "+ '10 '+0xa,10,10);
                ->   '40 '
  
BIN(N)   
返回二进制值N的一个字符串表示,在此N是一个长整数(BIGINT)数字,这等价于CONV(N,10,2)。如果N是NULL,返回NULL。   
mysql>   select   BIN(12);
                ->   '1100 '

OCT(N)   
返回八进制值N的一个字符串的表示,在此N是一个长整型数字,这等价于CONV(N,10,8)。如果N是NULL,返回NULL。   
mysql>   select   OCT(12);
                ->   '14 '
  
HEX(N)   
返回十六进制值N一个字符串的表示,在此N是一个长整型(BIGINT)数字,这等价于CONV(N,10,16)。如果N是NULL,返回NULL。   
mysql>   select   HEX(255);
                ->   'FF '
  
CHAR(N,...)   
CHAR()将参数解释为整数并且返回由这些整数的ASCII代码字符组成的一个字符串。NULL值被跳过。   
mysql>   select   CHAR(77,121,83,81, '76 ');
                ->   'MySQL '
mysql>   select   CHAR(77,77.3, '77.3 ');
                ->   'MMM '
  
CONCAT(str1,str2,...)   
返回来自于参数连结的字符串。如果任何参数是NULL,返回NULL。可以有超过2个的参数。一个数字参数被变换为等价的字符串形式。   
mysql>   select   CONCAT( 'My ',   'S ',   'QL ');
                ->   'MySQL '
mysql>   select   CONCAT( 'My ',   NULL,   'QL ');
                ->   NULL
mysql>   select   CONCAT(14.3);
                ->   '14.3 '


FORMAT(X,D)   
格式化数字X为类似于格式 '#,###,###.## ',四舍五入到D为小数。如果D为0,结果将没有小数点和小数部分。   
mysql>   select   FORMAT(12332.123456,   4);
                ->   '12,332.1235 '
mysql>   select   FORMAT(12332.1,4);
                ->   '12,332.1000 '
mysql>   select   FORMAT(12332.2,0);
                ->   '12,332 '


在mysql中没有对应的函数,MySQL必要时自动变换数字为字符串,并且反过来也如此:   

mysql>   SELECT   1+ "1 ";
                ->   2
mysql>   SELECT   CONCAT(2, '   test ');
                ->   '2   test '
如果你想要明确地变换一个数字到一个字符串,把它作为参数传递到CONCAT()。  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-5-22 02:54 , Processed in 0.368297 second(s), 35 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表