-
如果是sqlserver,則所有表名和列名都儲存在其中,可以使用以下語句進行查詢:
declare @columnlist varchar(8000), tablename varchar(255) - 定義兩個變數。
select @columnlist = ' ', @tablename= '要查詢的表的名稱'--變數賦值。
select @columnlist=@columnlist+name+ ', ' from where object_id = object_id(@tablename) and name<>'要剔除的列表名稱'--遍歷查詢所需的所有列(減去不需要的列)。
select @columnlist=left(@columnlist,len(@columnlist)-1) - 刪除構造語句中的最後乙個“,”符號。
exec( 'select '+@columnlist+ ' from '+@tablename) - 執行動態語句。
嘗試。
-
1. 建立乙個測試表,這裡我們以建立 6 個字段為例,如果有 100 個字段,操作類似,建立表 test sel cols(id number, password varchar2(200), remark1 varchar2(100), remark2 varchar2(100), remark3 varchar2(100), remark4 varchar2(100));
2、通過系統檢視檢視表結構; 您可以看到新建立的表的所有字段;
select * from user_tab_cols t where table_name = test_sel_cols';
3.編寫SQL以從檢視中刪除所有帶有密碼的字段;
select 'select '|listagg(column_name, 'within group(order by column_id) |from test_sel_cols'知芹 str from user tab cols t where table name = test sel cols'和列名 <> 李森'password'干擾完成;
4. 複製上一步的查詢結果,生成所需的 SQL,如下所示:
select id, remark1, remark2, remark3, remark4 from test_sel_cols
可以發現密碼字段丟失;
-
1. 建立乙個測試表,這裡我們以建立 6 個字段為例,如果有 100 個字段,操作類似,建立表 test sel cols(id number, password varchar2(200), remark1 varchar2(100), remark2 varchar2(100), remark3 varchar2(100), remark4 varchar2(100));
2、通過系統檢視檢視表結構; 您可以看到新建立的表的所有字段;
select * from user_tab_cols t where table_name = 'test_sel_cols';
3.編寫SQL以從檢視中刪除所有帶有密碼的字段;
select 'select '||listagg(column_name, ',') within group(order by column_id) |' from test_sel_cols' str from user_tab_cols t where table_name = 'test_sel_cols' and column_name <>'password';
4. 複製上一步的查詢結果,生成所需的 SQL,如下所示:
select id, remark1, remark2, remark3, remark4 from test_sel_cols
可以發現密碼字段丟失;
-
如果你想用一句話來寫,你必須乙個乙個地列出所有 99 個字段。
但是您可以使用動態語句來變得懶惰。
declare @cols as varchar(4000)
select @cols = isnull(@cols,'') +name +',' from syscolumns s
where 1=1 and id = (select id from sysobjects where name ='yourtable') -and name <>'填寫您在此處排除的字段'
set @cols = left(@cols,len(@cols)-1 )
exec ('select ' + cols + ' from yourtable')
注意:這是 tsql**,僅適用於 mssql
-
你想要的方式不存在,查詢語句的查詢列表只有兩種情況
from [tablename] - 查詢所有列。
a, b, c from [tablename] - 查詢指定的列。
-
沒明白你的意思。
不能直接查詢表中的資訊嗎?
select
from user_col_commentswhere table_name = upper( '表的名稱');
-
這應該是唯一的辦法。
應該做哪些檢查來排除腎臟疾病? 因此,腎功能不全一般是晚期腎病的表現,腎功能正常並不排除腎炎的可能。 如果確實是腎臟受損,就要補充優質的動物蛋白,吃肉最好先吃魚。
一些方便快捷的專利查詢**或專利查詢平台如下: 1.國家智財權局的平台 2.智慧芽專利查詢平台 3.智慧芽專利查詢平台為專利檢索、分析和管理提供一站式資訊服務平台,公司致力於讓全球更多的組織和機構更高效地了解和使用專利 4.中國國家智財權局是負責專利工作和全面協調涉外智財權事務的最直接下屬機構。擁有專利申請、專利審查、專利保護、專利**、PCT、積體電路、檔案服務、重要新聞、法律法規、國際合作等智財權事務。 >>>More