首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Concat和intvalue

SQL Concat和intvalue
EN

Stack Overflow用户
提问于 2014-10-10 16:48:01
回答 2查看 57关注 0票数 0

我有一个索引字段和一个子索引字段,我需要将它们连接起来以获得id。

我不能只连接这两个字段,因为这样它可以给出两个值…

假设我得到了索引18和子索引8,它会给我188,这也会给我索引1,子索引88。

因此,我也想在subindex字段中添加一个0,其中的值从1到9。

有没有人能帮我写一下这个的语法?语言是MySQL,并且两个表都有int值。

在子索引之前,如果值是1-9,则必须添加0,CONCAT (index,subindex) AS indexID

EN

回答 2

Stack Overflow用户

发布于 2014-10-10 16:51:46

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

WORKING FIDDLE HERE

代码语言:javascript
复制
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 
票数 0
EN

Stack Overflow用户

发布于 2014-10-10 17:11:38

代码语言:javascript
复制
select CONCAT ( 
  if(`index`<10,CONCAT ('0' , `INDEX`),`INDEX`), 
  if(`subindex`<10,CONCAT ('0' , `subindex`),`subindex`)) as ID from Table1

DEMO

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26295395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档