选择案例*时

时间:2013-06-21 06:08:32

标签: mysql sql-server select case

我很想知道是否有像标题所说的那样:

    SELECT CASE * WHEN NULL THEN '' ELSE * END

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

1 个答案:

答案 0 :(得分: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;