SQL 的行列互转操作,配合带参数的存储过程,用起来还挺顺的。像那种需要把执行结果赋值给变量的场景,用OUTPUT参数就比较方便。嗯,如果你习惯用exec来动态执行语句,那最好也顺手把返回值接起来,这样写日志、做判断都更灵活。

行转列的场景多,比如统计各个产品每天的销量。列转行就适合做那种多字段拆分,比如按月份拆工资项啥的。用存储过程包起来还能做权限控制,响应也快。

如果你对存储过程的输入输出参数还不太熟,下面这几个链接可以看看:

哦对了,如果你用的是OracleMySQL,也有对应的写法和注意点,可以顺手看看:

,把这套逻辑理清楚,对以后写复杂 SQL 逻辑还挺大。如果你在写报表、数据清洗、自动任务这些,可以重点练练。