0

我想知道是否有类似标题的内容:

    SELECT CASE * WHEN NULL THEN '' ELSE * END

我想对数百列进行案例条件处理,所以如果我可以在 SELECT * 语句中使用它会很方便。如果在 MS SQL Server 或 MySQL 中有类似的东西,有人可以建议我吗?谢谢

4

1 回答 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;
于 2013-06-23T08:17:49.230 回答