MySQL查询:如何为SELECT结果中NUMBER字段添加前缀48
解决SQL字段前缀拼接问题
嘿,我来帮你搞定这个问题~
你遇到的问题核心是数据库里的+运算符在不同场景下的作用不一样:从你用反引号包裹表名和字段名来看,你应该用的是MySQL,在MySQL里+是算术加法运算符,不是字符串连接符。所以你写的'48' + number``会把字符串'48'转换成数字48,然后和number字段的数值做加法运算,自然得不到你想要的前缀拼接效果。
正确的SQL语句
要实现字符串拼接,MySQL里需要用CONCAT()函数,它会自动把所有参数转换成字符串后再拼接:
SELECT CONCAT('48', `number`) AS NUMBER FROM `table`;
简单解释:
CONCAT('48',number):把前缀'48'和number字段的数值拼接成新的字符串,比如原字段值是523,就会得到'48523'AS NUMBER:把查询结果的列名设置为NUMBER,和你期望的输出格式完全匹配
执行这条语句后,就能得到你想要的结果:
| NUMBER | |--------| | 48523 | | 48293 | | 48948 |
内容的提问来源于stack exchange,提问作者Pavel K
相关产品推荐
相关产品推荐

