选择案例*时

问题描述 投票:0回答:1

我想知道是否有类似标题的说法:

    SELECT CASE * WHEN NULL THEN '' ELSE * END

我想对数百个列进行大小写调整,这样如果我能在SELECT *语句中使用它就会很方便。有人建议我,如果SQL Server或MySQL中有类似的东西吗?谢谢

mysql sql-server select case
1个回答
1
投票

尝试使用动态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;
© www.soinside.com 2019 - 2024. All rights reserved.