当前位置:  开发笔记 > 数据库 > 正文

SQL Server中的动态查询

如何解决《SQLServer中的动态查询》经验,为你挑选了1个好方法。

我有一个包含10列的表格col_1,col_2,.... col_10.我想写一个select语句,它将选择一行的值和这10列中的一列.我有一个变量,将决定从哪个列中进行选择.可以在从变量动态决定列名的位置写入此类查询.



1> Joel Coehoor..:

是的,使用CASE声明:

SELECT CASE @MyVariable
       WHEN 1 THEN [Col_1]
       WHEN 2 THEN [Col_2]
       ...
       WHEN 10 THEN [Col_10]
       END

这是否是一个好主意完全是另一个问题.你应该使用比Col_1,Col_2等更好的名字.

您也可以使用其他人建议的字符串替换方法.但是,这是最后的选择,因为它可以打开你的代码到SQL注入攻击.

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有