Mysql中字符串正确的连接方法
2016-02-19 09:29
746 查看
虽然SQL server和My sql的语句基本都一致,但是仍然存在一些小区别。就如字符串的连接来说,SQL server中的字符串连接是使用“+”来连接,不带引号sql server是做加法运算。而my sql中无论是带引号和不带引号,它都将其先转成数字型,然后在做运算。
SQL Server中字符串的连接:
ps:Age=21
其结果输出结果是第一列是1234,第二列是22。
MySQl中字符串连接:
很惊讶发现其输出结果是:第一列为46,第二列23,第三列为3。
注:在Mysql中,使用“+”进行字符连接时,mysql会尝试将字段值转换为数字类型(如果转换失败,就当做数字0处理)。如’1abc’+’22′,mysql将“1abc”转成数字1在进行运算;将“abc”当做0处理。
在MYSQL中进行字符串的拼接要使用CONCAT函数,CONCAT函数支持一个或者多个参数,参数类型可以为字符串类型也可以是非字符串类型,对于非字符串类型的参数MYSQL将尝试将其转化为字符串类型,CONCAT函数会将所有参数按照参数的顺序拼接成一个字符串做为返回值。
比如下面的SQL语句用于将用户的多个字段信息以一个计算字段的形式查询出来:
其输出结果是:学号2010010035的综合成绩是90。
SQL Server中字符串的连接:
ps:Age=21
SELECT '12'+'34',Age+1 FROM table
其结果输出结果是第一列是1234,第二列是22。
MySQl中字符串连接:
SELECT '12'+'34','1abc'+'22','abc'+'3' FROM table
很惊讶发现其输出结果是:第一列为46,第二列23,第三列为3。
注:在Mysql中,使用“+”进行字符连接时,mysql会尝试将字段值转换为数字类型(如果转换失败,就当做数字0处理)。如’1abc’+’22′,mysql将“1abc”转成数字1在进行运算;将“abc”当做0处理。
在MYSQL中进行字符串的拼接要使用CONCAT函数,CONCAT函数支持一个或者多个参数,参数类型可以为字符串类型也可以是非字符串类型,对于非字符串类型的参数MYSQL将尝试将其转化为字符串类型,CONCAT函数会将所有参数按照参数的顺序拼接成一个字符串做为返回值。
比如下面的SQL语句用于将用户的多个字段信息以一个计算字段的形式查询出来:
SELECT CONCAT('学号:',XNumber,'的综合成绩:',FSalary/(FAge-21)) FROM user
其输出结果是:学号2010010035的综合成绩是90。
相关文章推荐
- 两主机搭建MySQL主从复制后,show slave status显示:Last_IO_Error: error connecting to master ……
- 解决MySQL安装版出现the the service mysql57 failed问题的方法。
- 关于MySQL修改密码的问题
- You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version
- You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version
- MySQL5.6基于GTID的主从复制
- 3.0 mysql配置讲解
- 3.1 mysql的root密码重置
- 3.2 mysql登陆
- 3.3/3.4 mysql常用操作
- 3.5 mysql备份与恢复
- MySql四种存储引擎
- mysql的datetime与timestamp的区别
- mysql5.7.9 windows安装教程
- 关于mysql如何添加InnoDB
- SSH+Ext+mysql快速开发
- 字符集与MySQL中文乱码问题(2)
- Cannot load JDBC driver class 'com.mysql.jdbc.Driver
- MySQL中varchar最大长度是多少?
- 【MySQL】过滤后的结果集较大,用LIMIT查询分页记录,查询效率不理想