mysql - 选择案例 * 何时

标签 mysql sql-server select case

我想知道是否有像标题所说的内容:

    SELECT CASE * WHEN NULL THEN '' ELSE * END

我想对数百列进行大小写调节,因此如果我可以将其放在 SELECT * 语句上会很方便。有人可以建议我 MS 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;

关于mysql - 选择案例 * 何时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17228704/

相关文章:

java - 找不到 ssl jdbc 连接 keystore

php - MySQL 日期选择查询不起作用

php - 为什么我无法连接到我的数据库

mysql - 数据库设计两张表 vs 连接表,哪个更好

sql-server - 连接到 SharePoint 服务器的 SQL 服务器

mysql - 优化缓慢的 mysql 查询

mysql - 搜索查询计算两个字段并将结果放入 1 行组中

sql - SQL 查询中的不同值 - 高级

sql-server - 如何在 XML 中转换聚合函数

mysql - SQL - 计算给定时期的平均汇率并在选择中使用