第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

SELECT * EXCEPT

SELECT * EXCEPT

Cats萌萌 2019-09-03 16:19:07
是否有任何RDBMS實(shí)現(xiàn)類似的東西SELECT * EXCEPT?我所追求的是獲取除特定TEXT / BLOB字段之外的所有字段,我只想選擇其他所有字段。幾乎每天我都會(huì)向我的同事抱怨有人應(yīng)該實(shí)現(xiàn)這個(gè)......它非常煩人,它不存在。編輯:我理解大家的關(guān)注SELECT *。我知道與之相關(guān)的風(fēng)險(xiǎn)SELECT *。但是,至少在我的情況下,這不會(huì)用于任何生產(chǎn)級(jí)代碼,甚至是開發(fā)級(jí)代碼; 嚴(yán)格用于調(diào)試,當(dāng)我需要輕松查看所有值時(shí)。正如我在一些評(píng)論中所說,我工作的地方嚴(yán)格來說是一個(gè)命令行商店,在ssh上做一切。這使得很難使用任何gui工具(不允許與數(shù)據(jù)庫的外部連接)等。謝謝你的建議。
查看完整描述

3 回答

?
白板的微信

TA貢獻(xiàn)1883條經(jīng)驗(yàn) 獲得超3個(gè)贊

正如其他人所說,在查詢中執(zhí)行此操作并不是一個(gè)好主意,因?yàn)楫?dāng)有人在將來更改表結(jié)構(gòu)時(shí),它很容易出現(xiàn)問題。但是,有一種方法可以做到這一點(diǎn)......我無法相信我實(shí)際上在暗示這一點(diǎn),但本著回答實(shí)際問題的精神......


使用動(dòng)態(tài)SQL執(zhí)行此操作...這將執(zhí)行除“description”列之外的所有列。您可以輕松將其轉(zhuǎn)換為函數(shù)或存儲(chǔ)過程。


declare @sql varchar(8000),

    @table_id int,

    @col_id int


set @sql = 'select '


select @table_id = id from sysobjects where name = 'MY_Table'


select @col_id = min(colid) from syscolumns where id = @table_id and name <> 'description'

while (@col_id is not null) begin

    select @sql = @sql + name from syscolumns where id = @table_id and colid = @col_id


    select @col_id = min(colid) from syscolumns where id = @table_id and colid > @col_id and name <> 'description'

    if (@col_id is not null) set @sql = @sql + ','

    print @sql

end


set @sql = @sql + ' from MY_table'


exec @sql


查看完整回答
反對(duì) 回復(fù) 2019-09-03
?
慕容森

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超18個(gè)贊

DB2允許這樣做。列的屬性/說明符為Hidden。


從syscolumns文檔


HIDDEN 

CHAR(1)NOT NULL WITH DEFAULT'N' 

表示是否隱式隱藏了列:


P部分隱藏。SELECT *隱式隱藏該列。


N沒有隱藏。該列對(duì)所有SQL語句都可見。


創(chuàng)建表文檔作為創(chuàng)建列的一部分,您可以指定IMPLICITLY HIDDEN修飾符


來自示例DDL 隱式隱藏的列如下


CREATE TABLE T1

(C1 SMALLINT NOT NULL,

C2 CHAR(10) IMPLICITLY HIDDEN,

C3 TIMESTAMP)

IN DB.TS;

這種能力是否是推動(dòng)DB2采用的交易制定者,這仍然是未來讀者的一種練習(xí)。


查看完整回答
反對(duì) 回復(fù) 2019-09-03
?
繁花如伊

TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個(gè)贊

是否有任何RDBMS實(shí)現(xiàn)SELECT * EXCEPT之類的東西?


是的,Google Big Query實(shí)現(xiàn)SELECT * EXCEPT:


SELECT * EXCEPT語句指定要從結(jié)果中排除的一個(gè)或多個(gè)列的名稱。輸出中省略了所有匹配的列名稱。


WITH orders AS(

  SELECT 5 as order_id,

  "sprocket" as item_name,

  200 as quantity

)

SELECT * EXCEPT (order_id)

FROM orders;

輸出:


+-----------+----------+

| item_name | quantity |

+-----------+----------+

| sprocket  | 200      |

+-----------+----------+

編輯:


H2數(shù)據(jù)庫也支持SELECT * EXCEPT (col1, col2, ...)語法。


通配符表達(dá)式


SELECT語句中的通配符表達(dá)式。通配符表達(dá)式表示所有可見列??梢允褂每蛇x的EXCEPT子句排除某些列。


查看完整回答
反對(duì) 回復(fù) 2019-09-03
  • 3 回答
  • 0 關(guān)注
  • 1232 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)