oracle中判斷某個字段是否存在

2021-08-30 20:37:28 字數 1492 閱讀 3341

oracle中判斷某個字段是否存在

document為表名

docid為欄位名

select count(column_name)

from cols

where table_name = upper('document')

and column_name = upper('docid')

如果查詢出來的為0說明document中不存在docid欄位

含義 :假如'bzpt_sf_orders'  沒有'id6' 這個字段,就返回 ddd,

假如 有這個字段 就返回 查詢出來的字段。

select decode( (select count(column_name)

from cols

where table_name = upper('bzpt_sf_orders')

and column_name = upper('id6')) ,'1',(select o.id

from bzpt_sf_orders o where o.id='4028820f2a847fed012a84838c910003'), '0', 'ddd' )

from dual

name subject grade

---------------------------

student1 語文 80

student1 數學 70

student1 英語 60

student2 語文 90

student2 數學 80

student2 英語 100

……轉換為

語文 數學 英語

student1 80 70 60

student2 90 80 100

按照name分組得到的結果,所以decode外面要套個sum,不然group by出現語義錯誤,結果為

select name,sum(decode(subject,'語文', grade,null)) "語文",

sum(decode(subject,'數學', grade,null)) "數學",

sum(decode(subject,'英語', grade,null)) "英語"

from student

group by name

判斷sqlite是否包含某個字段

判斷表存在的方法很簡單,網上很多 select count fromsqlite masterwhere type table and name s tname 那麼判斷字段是否存在,或者說如何判斷表的版本是否最新就只需要 select from sqlite master where tbl na...

oracle拆分某個字段

表 uf wzlb 物資類別 表 uf wzzl 物資種類 表 uf wzlb wzzl 物資類別和物資種類關聯表,物資類別與物資種類為一對多關係 如,物資類別編碼為 wzlb 201805100004 該物資類別繫結了多個物資種類,繫結的物資種類編碼為 wzzl 201805100044,wzzl...

Mysql查詢如何判斷字段是否包含某個字串

mysql查詢如何判斷字段是否包含某個字串 有這樣乙個需求,在mysql 資料庫字串字段 許可權 中,使用者有多個不同的郵箱,分別被 分開,現在要取出某個郵箱的所有成員列表。假設有個表 create table users id int 6 not null auto increment,prima...