首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎么对字段名进行模糊查询

2012-05-24 
如何对字段名进行模糊查询表结构为 时间 a_1 a_2 b_1 c_1 c_2 c_3 这种结构,如何在查询时只输入一个变量a

如何对字段名进行模糊查询
表结构为 时间 a_1 a_2 b_1 c_1 c_2 c_3 这种结构,如何在查询时只输入一个变量a或b或c,就把相关字段都查询出来?


[解决办法]

SQL code
CREATE TABLE TT(a_1 VARCHAR(1),a_2 VARCHAR(1),b_1 VARCHAR(1))GOINSERT INTO tt(a_1,a_2,b_1)SELECT '1','1','b'UNION SELECT '2','2','b'SELECT DISTINCT        'select ' + STUFF(( SELECT  ',' + name                            FROM    sys.columns t                            WHERE   object_id = sys.columns.object_id AND name LIKE 'a%'  --字段名起始字符                          FOR                            XML PATH('')                          ), 1, 1, '') + ' from ' + OBJECT_NAME(object_id)FROM    sys.columnsWHERE   object_id = OBJECT_ID('TT')
[解决办法]
可能是我理解能力不好,没懂你的题目的意思!
SQL code
CREATE TABLE TT(a_1 VARCHAR(1),a_2 VARCHAR(1),b_1 VARCHAR(1))GOINSERT INTO tt(a_1,a_2,b_1)SELECT '1','1','b'UNION SELECT '2','2','b'SELECT DISTINCT        'select ' + STUFF(( SELECT  ',' + name                            FROM    sys.columns t                            WHERE   object_id = sys.columns.object_id AND name LIKE 'a%' FOR                            XML PATH('') --把TT表中的列名查询出来组成 ,a_1,a_2这种类型字符串                          ), 1, 1, '') --第一个开始替换一个字符串为空字符串                          + ' from ' + OBJECT_NAME(object_id)FROM    sys.columnsWHERE   object_id = OBJECT_ID('TT') 

热点排行