我有一個索引字段和一個子索引字段,我需要連接以獲得一個id。SQL Concat和intvalue
我不能只是CONCAT兩個領域,因爲這樣它可以給雙值...
說我得到了指數18和子索引8它將給我188,並且也將指數1 togheter與分類指數88給我。
因爲我想要在值爲1-9的子索引字段中添加0。
有人可以幫我用這個語法。語言是MySQL和兩個表中有一個整型值..
分類指數之前,我要加一個0,如果值是1-9,CONCAT (
指數,
分類指數) AS
IndexID爲
我有一個索引字段和一個子索引字段,我需要連接以獲得一個id。SQL Concat和intvalue
我不能只是CONCAT兩個領域,因爲這樣它可以給雙值...
說我得到了指數18和子索引8它將給我188,並且也將指數1 togheter與分類指數88給我。
因爲我想要在值爲1-9的子索引字段中添加0。
有人可以幫我用這個語法。語言是MySQL和兩個表中有一個整型值..
分類指數之前,我要加一個0,如果值是1-9,CONCAT (
指數,
分類指數) AS
IndexID爲
您可以用例CONCAT爲組合下面。
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
select CONCAT (
if(`index`<10,CONCAT ('0' , `INDEX`),`INDEX`),
if(`subindex`<10,CONCAT ('0' , `subindex`),`subindex`)) as ID from Table1
請在代碼中添加更多解釋,以便他人更容易理解您的解決方案。 – GameDroids 2014-10-10 10:09:50
......當'subindex'長到3個數字會發生什麼? (如果你的答案是「添加另一個'0',那麼......)如果你的數據庫中使用了id,爲什麼不把它作爲2列?如果它是用於_outside_你的數據庫,你應該最有可能產生一個特定的(單個)id用於這個目的(或者可能的格式化連接不同,如果這是id值從第一位開始的地方,但是它們最有可能是** string **,並且應該已經被輸入/存儲因此) – 2014-10-10 10:41:21