通过将数据库整数字段串联起来创建更长的数字

时间:2014-09-11 05:05:27

标签: mysql

我的数据库表中有字段:r1,r2,g1,g2,b1,b2

我想在MySQL查询中将这些项链接在一起,以便将这些字段转换为数字。因此,它不会返回单独的r1,g1和b1,而是返回3个串在一起的项目,没有空格或逗号,使得看起来像是一个数字。

像这样:(我用点来表示它们是连接的):

 r1 . g1 . b1 , r2 . g2 . b2 

因此,作为示例,如果存储在数据库中的项目是:

r1 = 7
r2 = 8


g1 = 12
g2 = 13


b1 = 17
b2 = 18

执行查询后,我会得到以下结果:

 71217,81318

我在想以某种方式使用CONCAT_WS是如何做到的,但我只是不确定该怎么做?

3 个答案:

答案 0 :(得分:0)

CONCAT()应该足够了

select concat(r1 , g1 , b1) as N1 , CONCAT(r2 , g2 , b2 ) as N2 from whatever

See a SQLfiddle for this

答案 1 :(得分:0)

在下面的选择中使用concat(可能对您有帮助):

我正在考虑你有表t1,我的查询如下

select concat(r1,g1,b1) as no1,concat(r2,g2,b2) as no2 from t1

注意:如有任何问题,请告诉我

答案 2 :(得分:0)

发帖后,我能够得到答案:

SELECT ID, CONCAT_WS(',', CONCAT(r1,g1,b1),CONCAT(r2,g2,b2),CONCAT(r3,g3,b3),CONCAT(r4,g4,b4),CONCAT(r5,g5,b5)) AS color FROM mytable;

但是,我欢迎任何建议或其他答案。