我想知道是否有类似标题的说法:
SELECT CASE * WHEN NULL THEN '' ELSE * END
我想对数百个列进行大小写调整,这样如果我能在SELECT *语句中使用它就会很方便。有人建议我,如果SQL Server或MySQL中有类似的东西吗?谢谢
尝试使用动态SQL(MySql)
SELECT GROUP_CONCAT(CONCAT('COALESCE(`', column_name, '`,'''') `', column_name, '`'))
INTO @sql
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'Table1';
SET @sql = CONCAT('SELECT ', @sql, ' FROM Table1');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;