1. 程式人生 > >sqlserver把列說明轉成一列資料

sqlserver把列說明轉成一列資料

sqlserver中可以對庫說明、表說明、表的列說明,這些說明起到註釋的作用。

有天同事問到如何把列說明變成一個欄位轉成表的資料,就不用那麼麻煩每次去改表了。

在資料庫中可以這樣查

先在shiyan1資料庫中

EXEC [shiyan1].sys.sp_addextendedproperty @name=N'1', @value=N'庫說明無意義' 
GO

CREATE TABLE [dbo].[MyTest](
[id] [int] IDENTITY(1,1) NOT NULL,
[name] [varchar](100) NULL,
[times] [datetime] NULL,
 CONSTRAINT [PK__MyTest__3213E83F3B0BADF5] PRIMARY KEY CLUSTERED 
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]


GO


SET ANSI_PADDING OFF
GO


ALTER TABLE [dbo].[MyTest] ADD  CONSTRAINT [DF_MyTest_times]  DEFAULT (getdate()) FOR [times]
GO


EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ID標識' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MyTest', @level2type=N'COLUMN',@level2name=N'id'
GO


EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'姓名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MyTest', @level2type=N'COLUMN',@level2name=N'name'
GO


EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'時間' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MyTest', @level2type=N'COLUMN',@level2name=N'times'
GO


EXEC sys.sp_addextendedproperty @name=N'1', @value=N'表說明,測試無意義' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MyTest'
GO

再檢視


根據class_desc 和major_id,很明顯有庫說明、表說明和不同表列說明 。獲得需要的就把庫說明和表說明建個檢視去掉就行了。

再根據sys.syscolumns和sys.sysobjects系統檢視就能查出來

use [shiyan1]
SELECT   v.name, v.colorder, v.length,v.tableName,ISNULL(p.value, v.name) AS Descript
FROM      sys.extended_properties AS p INNER JOIN
(SELECT   col.name, col.colorder, col.length, obj.name AS tableName, obj.id
FROM      sys.syscolumns AS col INNER JOIN
                sys.sysobjects AS obj ON col.id = obj.id
WHERE   ((obj.type = 'u') OR
                (obj.type = 'V') )and obj.name='MyTest') AS v ON p.major_id = v.id AND p.minor_id = v.colorder


得到想要的查詢,可以把這查詢建立成相應的檢視,每次呼叫就會方便很多。

相關推薦

sqlserver說明資料

sqlserver中可以對庫說明、表說明、表的列說明,這些說明起到註釋的作用。 有天同事問到如何把列說明變成一個欄位轉成表的資料,就不用那麼麻煩每次去改表了。 在資料庫中可以這樣查 先在shiyan1資料庫中 EXEC [shiyan1].sys.sp_addextende

oracle資料庫某行資料資料

select running_time, running_user, algorithm_id, algorithm_list_id, name1, name2, ROWNUM, wm_concat(t

SQL Server 行轉行。多行

一、多行轉成一列(並以","隔開)表名:A表資料:想要的查詢結果:查詢語句:SELECT name , value = ( STUFF(( SELECT ',' + value FROM A

SQL 多行

CREATE TABLE [dbo].[a]([id] [nchar] (10) COLLATE Chinese_PRC_CI_AS NULL,[name] [nchar] (10) COLLATE Chinese_PRC_CI_AS NULL,[value] [nchar]

oracle 多(轉行)、 行

1.多列轉成一列(列轉行) --6列轉成兩列(列轉行) 這就是最常見的列轉行,主要原理是利用SQL裡面的union with temp as  (select    a.iid_sn,    a.product_name,    a.sales_figures,    a

oracle 將資料1行資料

select wm_concat(name) name from user;--10g寫法 select listagg(name,',') within group (order by name)

C#/WPF 原圖

本章講述:原圖轉成縮圖 double dWidth = System.Windows.SystemParameters.PrimaryScreenWidth;//顯示屏畫素 寬 double dHeight = System.Windows.SystemParameters.PrimaryS

學習vba之按合併將選定區域的單元格合併

學習VBA-合併列     首先選定一個區域,將這個區域的內容按列合併到該區域的後一列中。     學習過程中,如有錯誤或改進之處,還請多多指教! Sub 合併列()    Dim hang As Integer

excel技能集1-科學計數法正常顯示+多文字指標匯合指標

如何使自動顯示為科學記數法數字文字轉化為顯示文字型別 選中目標行 選擇【分列】  點選下一步 直到可以選擇【列資料格式】那步 修改選項為文字 點選完成 如何把多列指標粘合成一列指標(批量匯入sql時用到的傻瓜方法) 使用phonetic函式 把N行M列

SQL SERVER Date和Time合併處理報表資料

問題原由: intouch專案中,利用intouch指令碼來儲存資料時,存入的時間格式為:date,time分開儲存。在報表需求中,有需要利用查詢兩個時間段之間的資料。 問題解決: 1.直接寫指令

postgresql多合併string_agg函式

1 有時候我們會需要將多條資料根據一些特別的欄位做一些合併。比如下面這個查詢,正常會查詢出3條資料,但是我們會希望根據create_by 分成兩列顯示 2 這時候需要用到string_agg函式,先通過group by分組,在進行合併,當然查詢結果需要滿足group 

postgresql 9.3 自定義聚合函式實現多行資料合併

前言 常見的一種需求,如下圖(1): 目前需要按右邊的factor_code進行分組,將左邊的behavior_code這一列通過指定分隔符連線起來,比如通過<br /> 來連線,理想的效果應當是如下圖(2)這樣: 下面就來討論一下實現

MSSQL將多行資料拼接

select e_uid, base_no = (stuff((select ';' + base_no from e_baseuid where e_uid = a.e_uid for xml path('')),1,1,'')), e_usetype = (stuff((

EXCEL中兩合併以及根據相同的值將表中的值複製到另張表中?

今在做EXCEL時遇兩問題,現和大家分享如下: 1、如何將表中兩列值合併到一列,並按照一定的分隔符進行分割,公式如下:       假如:要將F和G的值 合併到H列並按逗號“,”隔開:  H1=F1&“,"&G1 2、有兩張表,根據表中相同的編號將成績複製到

用SQL實現結果集的各種轉換----結果集

      之前一篇講述瞭如何將結果集轉成一列,下面介紹如何將一個結果集轉為多列。       假設原資料表如圖1所示,現在要將如圖2顯示的結果集轉換為如圖3所示的結果集。                                                    

Map集合 map 集合 Set的方法

com 一個 刪除 取出 -h lin etl 判斷 表結構 |--Hashtable:底層是哈希表數據結構,是線程同步的。不可以存儲null鍵,null值。 |--HashMap:底層是哈希表數據結構,是線程不同步的。可以存儲null鍵,null值。替代了Hashtab

使用pythonhtml網頁pdf檔案

我們看到一些比較寫的比較好文章或者部落格的時候,想儲存下來到本地當一個pdf檔案,當做自己的知識儲備,以後即使這個部落格或者文章的連線不存在了,或者被刪掉,咱們自己也還有。 當然咱們作為一個coder,這樣的事情肯定不能手動儲存下來然後再轉成pdf存起來對不對,有失咱們碼農的身份,當然要自動化的來實現了~

用什麼軟體能flv視訊GIF動畫

其實網上有一部分的GIF動畫來來自於視訊(電影、電視劇、綜藝、動漫),特別是一些炫酷的GIF特效。聊天軟體也偏愛GIF動畫,比方說QQ、微信都有很多GIF動畫為大家提供。並且大家與好友聊天鬥圖應該大部分使用的都是GIF動畫,因為GIF動畫生動形象能夠很好的表達我們的各種心情。那麼用什麼軟體能把視訊轉成GI

如何PPT線上轉換張長圖

字型丟了,效果丟了,檔案太大,遇到低版本,被人隨意篡改,不知道你的PPT有沒有遇到過這些問題呢,如今吃過虧得人都學乖啦,我們可以把PPT轉換成長圖請新增連結描述,這樣不僅可以預防意外的發生,同時也可以傳到微博之類的這些地方了,那如何把PPT線上轉換成一張長圖呢?今天教你一招,輕鬆解決!第一、在百度裡面搜尋迅捷

怎麼qlv格式mp4?附裁剪qlv視訊尺寸技巧

  最近很多人跑來向我吐槽:「在騰訊視訊下載的視訊竟然無法在手機上播放,改字尾也不行,會出現檔案無法播放的提示資訊。」這樣就很扎心了,也無法剪輯視訊啦。那怎麼辦呢?老司機告訴你「道高一尺魔高一丈」,我們只要想辦法將騰訊視訊下載的視訊格式轉換一下就成啦!哎,說起來容易做起來難,到底怎麼轉換呢?其實很簡單的,