話說樓主剛開始也不知道怎麼查,而後就開始百度了程序員
大部分網友都是建議一個一個寫 固然程序員是最懶的啦,一個一個寫多痛苦啊sql
接着找編程
還別說csdn裏還有很多大牛的json
因而出現了這個腳本後端
declare
@s
nvarchar
(
1000
)
select
@s
=
isnull(
@s
+
'
,
',
'')
+
quotename(Name)
from syscolumns
where ID
=
object_id(
'
表名
')
and Name
not
in(
'
排除字段
')
order
by colid
exec(
'
select
'
+
@s
+
'
from 表名
')
執行以後 哇 完美 正是我想要的結果ide
而後博主閒着沒事又往下翻了翻有另一個網友也給出了相似的方法代碼以下:工具
獲得表中除Col一、Col2的全部列
例如:userno_fm、userno_to
create
table test(
num
int
identity(
1,
1),
userno_fm
varchar(
10),
userno_to
varchar(
10),
username
varchar(
10))
select
*
from test
declare
@sql
varchar(
8000)
select
@sql
=
''
select
@sql
=
@sql
+
'
,
'
+
[
name
]
from
(
select
[
name
]
from syscolumns
where
object_id(N
'
[test]
')
=
[
id
]
and
[
name
]
not
in (
'
userno_fm
',
'
userno_to
')) A
set
@sql
=
'
select
'
+
stuff(
@sql,
1,
1,
'')
+
'
from [test]
'
--
print @sql
exec (
@sql)
drop
table test
執行一下 結果是相同的spa
也能夠看出兩個方法直接的差異.net
第一個堪稱完美code
第二個有點笨拙由於
select @sql='' select @sql=@sql+','+[name] from 能夠用@s=isnull(@s+',','')代替
'select '+stuff(@sql,1,1,'') 不如 quotename(Name)方便直接
不過第二個也正是博主的寫做風格因此博主纔有切身的感覺見到第一個代碼如土鱉與到了女神
今天又一次感覺到了編程之美,代碼之美 心中一陣清風吹過 爽
博主又有了新猜測,之後直接用sql查詢出json格式的數據就不用在後端第三方工具將table轉換了
文中代碼引自: http://bbs.csdn.net/topics/330143955#quote