Description:
The @@sql_mode is not in an easy to consume format. Would be nice to have this in a JSON array or SQL table in the SYS schema.
Examples:
WITH RECURSIVE
sqlmodelength AS (
SELECT 1+LENGTH(@@sql_mode) - LENGTH(REPLACE(@@sql_mode, ',', '')) AS len
),
sqlmode AS (
SELECT 1 AS n, SUBSTRING_INDEX(@@sql_mode,",", 1) AS sqlmode
UNION ALL
SELECT n + 1, SUBSTRING_INDEX(SUBSTRING_INDEX(@@sql_mode,",", n+1),",",-1) FROM sqlmode
WHERE n<(SELECT len FROM sqlmodelength)
)
SELECT sqlmode FROM sqlmode ORDER BY sqlmode;
WITH RECURSIVE
sqlmodelength AS (
SELECT 1+LENGTH(@@sql_mode) - LENGTH(REPLACE(@@sql_mode, ',', '')) AS len
),
sqlmode AS (
SELECT 1 AS n, SUBSTRING_INDEX(@@sql_mode,",", 1) AS sqlmode
UNION ALL
SELECT n + 1, SUBSTRING_INDEX(SUBSTRING_INDEX(@@sql_mode,",", n+1),",",-1) FROM sqlmode
WHERE n<(SELECT len FROM sqlmodelength)
)
SELECT JSON_ARRAYAGG(sqlmode) FROM sqlmode ORDER BY sqlmode;
The problem is that MySQL won't let me create these as views.
Having something more generic that would take a comma separated string and create a table and/or JSON array would be nice.
How to repeat:
See description