时间:2021-07-01 10:21:17 帮助过:4人阅读
最近需要将房源数据以xml格式提供给百度,然而对于所需数据的某些项在数据库中是那一列还不清楚。数据库中的列很多,并且不是每一条数据在相应列上都有数据。为了能够快速的找到相应的列,我特意写了一条sql来查询相应的列。展示如下:
declare @tableName varchar(30),@columnStr varchar(200)
declare @column varchar(30),
@str varchar(300)
--要查询的表名
set @tableName=‘article‘
--要查询的内容
set @columnStr=‘花‘
declare cur cursor for
Select name from syscolumns Where ID=OBJECT_ID(@tableName)
open cur
fetch next from cur into @column
while (@@FETCH_STATUS=0)
begin
set @str=‘declare @count int
set @count=( select top(1) 1 from ‘+@tableName+‘ with(nolock) where ‘+@column +‘ like ‘‘%‘+@columnStr+‘%‘‘ )
if @count=1
begin
print ‘‘‘+@column+char(13) +‘‘‘
end‘
fetch next from cur into @column
EXEC(@str);
end
close cur
deallocate cur
期望这段代码能够对有相同需求的人有所帮助。
根据目标列的内容使用sql获取列名
标签: