SELECT
GROUP_CONCAT(
't.',
column_name,
' AS ',
-- _分割之后的第一段
SUBSTRING_INDEX(LOWER(column_name), '_', 1),
-- _分割之后的第二段
SUBSTR(
UPPER(column_name),
LENGTH(
SUBSTRING_INDEX(column_name, '_', 1)
) + 2,
1
),
SUBSTR(
LOWER(column_name),
LENGTH(
SUBSTRING_INDEX(column_name, '_', 1)
) + 3,
LENGTH(
SUBSTRING_INDEX(column_name, '_', 2)
) - LENGTH(
SUBSTRING_INDEX(column_name, '_', 1)
) - 2
),
-- _分割之后的第三段
SUBSTR(
UPPER(column_name),
LENGTH(
SUBSTRING_INDEX(column_name, '_', 2)
) + 2,
1
),
SUBSTR(
LOWER(column_name),
LENGTH(
SUBSTRING_INDEX(column_name, '_', 2)
) + 3,
LENGTH(
SUBSTRING_INDEX(column_name, '_', 3)
) - LENGTH(
SUBSTRING_INDEX(column_name, '_', 2)
) - 2
),
-- _分割之后的第四段
SUBSTR(
UPPER(column_name),
LENGTH(
SUBSTRING_INDEX(column_name, '_', 3)
) + 2,
1
),
SUBSTR(
LOWER(column_name),
LENGTH(
SUBSTRING_INDEX(column_name, '_', 3)
) + 3,
LENGTH(
SUBSTRING_INDEX(column_name, '_', 4)
) - LENGTH(
SUBSTRING_INDEX(column_name, '_', 3)
) - 2
),
-- _分割之后的第五段
SUBSTR(
UPPER(column_name),
LENGTH(
SUBSTRING_INDEX(column_name, '_', 4)
) + 2,
1
),
SUBSTR(
LOWER(column_name),
LENGTH(
SUBSTRING_INDEX(column_name, '_', 4)
) + 3,
LENGTH(
SUBSTRING_INDEX(column_name, '_', 5)
) - LENGTH(
SUBSTRING_INDEX(column_name, '_', 4)
) - 2
)
)
FROM
information_schema.columns
WHERE table_name = 't_tms_service_channel'
AND table_schema = 'eda-saas-tms'
通过sql拼接表的下划线转驼峰
最新推荐文章于 2022-11-02 18:31:41 发布