case
when length(`Employee ID`)=6 then RIGHT(CONCAT("10" , `Employee ID`), 8) AS `Employee ID`
when length(`Employee ID`)=5 then RIGHT(CONCAT("100" , `Employee ID`), 8) AS `Employee ID`
else length(`Employee ID`)=8 END
Я выполнил множество подобных запросов, а также использовал IF
.Итак, я заметил несколько ошибок.Из того, что я знаю, вам не нужно указывать RIGHT
в CONCAT
.И вам не нужно определять каждый WHEN ... THEN .. AS
, скорее вы определяете AS
после END
.И, добавив к моему комментарию выше, последняя часть также неверна.Попробуйте этот запрос ниже и посмотрите, сможете ли вы получить желаемый результат:
CASE
WHEN LENGTH(`Employee ID`)=6 THEN CONCAT("10" , `Employee ID`)
WHEN LENGTH(`Employee ID`)=5 THEN CONCAT("100" , `Employee ID`)
ELSE `Employee ID` END AS `Employee ID`;