2014-01-22 41 views
0

我有一個表有100列,我可以使用下面的查詢如何獲取數據中具有前導空格的所有列?

Select * from tes_tbl where col_1 like ' %' 

得到一個列,但我怎麼能檢索一個查詢

進出口使用Oracle數據庫中的所有列

PS:我米初學者到SQL

+0

MySQL或MSSQL? – Liath

+3

我認爲你正在解決實際問題,爲什麼你會有100列? –

+0

表中不應該有前導空格的數據。桌上有近30萬記錄,我想檢查一下。 – user3223327

回答

0

您可以使用OR運營商像下面,

Select * from tes_tbl where col_1 like '%' OR col_2 like '%' 

這會給你的結果集,它滿足在WHERE條款

+0

這將返回在其中一列中具有值的所有行。不是一列以空白開頭的行。 –

+0

@a_horse_with_no_name我剛剛建議他/她使用OR運算符,但我不確定該條件。 – Mari

2

你沒有指定哪種類型的SQL的,所以我將假設MS SQL Server中的條件。

正如其他人指出,但是你提到你已經得到了很多查詢欄,您可以生成沿着

select * from tes_tbl where col_1 like '% ' OR col_2 like '% ' 

行的查詢。 (這是MSSQL特定位),您可以查詢Information Schema讓你的表格中列的列表:

select 'OR [' + COLUMN_NAME + '] like '' % ''' from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'tes_tbl' 

這會給你的每一列的列表或條款。您可以使用這些來構建您的查詢(替換上面查詢中WHERE子句的部分)。

你也可以使用這個技巧來顯式地選擇select中的列,這對於ad-hoc查詢以外的任何事情來說都是一個好主意。

+0

嗨,對不起,對於遲到的回覆。我正在使用Oracle DBMS – user3223327

相關問題