SQL Concat和intvalue

时间:2014-10-10 08:48:01

标签: mysql sql concat

我有一个索引字段和一个子索引字段,我需要连接以获取ID。

我不能连接这两个字段,因为它可以给出双倍值......

假设我得到了索引18和子索引8它将给我188并且这也将指数1 togheter与子索引88给我。

因为我想要在子索引字段中添加0,其值为1-9。

有人可以帮我解决这个问题。语言是MySQL,两个表都有int值..

在子索引之前,如果值为1-9,我必须添加0,CONCAT (索引,子索引) AS indexID

2 个答案:

答案 0 :(得分:0)

您可以使用CASE结合CONCAT,如下所示。

WORKING FIDDLE HERE

SELECT
`INDEX`,`SUB_INDEX`,
(
    CONCAT
    ((CASE WHEN `INDEX` <10
         THEN CONCAT ('0' , `INDEX`)
         ELSE `INDEX`
      END)
    ,
    (CASE WHEN SUB_INDEX <10
        THEN CONCAT ('0' , `SUB_INDEX`)
         ELSE SUB_INDEX 
      END)
     )
) AS ID
FROM MY_TABLE 

答案 1 :(得分:0)

select CONCAT ( 
  if(`index`<10,CONCAT ('0' , `INDEX`),`INDEX`), 
  if(`subindex`<10,CONCAT ('0' , `subindex`),`subindex`)) as ID from Table1

DEMO