日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL 通过syscolumns.xtype动态查找指定数据类型字段所包含的数据

發布時間:2023/12/9 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL 通过syscolumns.xtype动态查找指定数据类型字段所包含的数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

表中太多列,只想查找某些比如,數據類型為varchar的字段的數據。

  思路:1、先獲取列名:

select * from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='test_A')

  

  2、查找指定數據類型,xtype就是數據類型,參考如下

syscolumns表內的xtype

  查了一下,這些東西都是存于每一個數據庫的syscolumns表里面得,name就是列名,xtype就是數據類型,但是這個xtype是數字的,下面是數字和數據類型對應的關系;

 xtype=34 'image'?
?xtype= 35 'text'?
?xtype=36 'uniqueidentifier'?
?xtype=48 'tinyint'?
?xtype=52 'smallint'?
?xtype=56 'int'?
?xtype=58 'smalldatetime'?
?xtype=59 'real'?
?xtype=60 'money'?
?xtype=61 'datetime'?
?xtype=62 'float'?
?xtype=98 'sql_variant'?
?xtype=99 'ntext'?
?xtype=104 'bit'?
?xtype=106 'decimal'?
?xtype=108 'numeric'?
?xtype=122 'smallmoney'?
?xtype=127 'bigint'?
?xtype=165 'varbinary'?
?xtype=167 'varchar'

?xtype=173 'binary'?
?xtype=175 'char'?
?xtype=189 'timestamp'?
?xtype=231 'nvarchar'

?xtype=239 'nchar'?
?xtype=241 'xml'?
?xtype=231 'sysname'

3、構造最終的動態SQL語句:

DECLARE @sql VARCHAR(max) DECLARE @col VARCHAR(1000)SELECT @col = STUFF((SELECT ','+name FROM syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='test_A') AND sys.syscolumns.xtype= 167 for xml path('')),1,1,'')SET @sql='select '+@col SET @sql=@sql+' from test_A' EXEC(@sql)

?

轉載于:https://www.cnblogs.com/EminemJK/p/5825063.html

總結

以上是生活随笔為你收集整理的SQL 通过syscolumns.xtype动态查找指定数据类型字段所包含的数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。