2016-03-22 33 views
1

時查詢「哪裏是數字(col)和col> 0」我正在清理訪問數據庫中的某些數據,其中文本屬性應該是數字且大於0包含非數字數據或者是數字0 <如何在訪問

因爲Access沒有短路,我不能做一個

create table cleaned_up as 
select * from a_mess 
where isNumeric(col) and col >0 

create table cleaned_up as 
select * from (
    select * from a_mess 
    where isNumeric(col) 
) 
where col > 0 
+0

訪問不處理'0 = FAL SE'和'-1 = TRUE'(或換句話說:'0 = FALSE'和'anyValueNotEqualToZero = TRUE'? – Shnugo

+0

'col'中有什麼值?如果寫'IsNumeric(col)和CDbl(col)> 0'會發生什麼?我不知道如果第一個條件是錯誤的,Access是否停止... – Shnugo

+0

'col like'[1-9] *「' –

回答

1

關注只是SELECT片開始...

SELECT * 
FROM a_mess 
WHERE 
     IsNumeric(col) 
    AND Val(Nz(col, 0)) > 0; 

然後你就可以在查詢適應作爲SELECT ... INTO聲明(訪問用戶界面稱爲「生成表」查詢)將結果集作爲表保留...

SELECT * 
INTO cleaned_up 
FROM a_mess 
WHERE 
     IsNumeric(col) 
    AND Val(Nz(col, 0)) > 0; 
0

您可以瓦爾的解決辦法短,我噸開始與非數字字符的字符串返回0:

create table cleaned_up as 
select * from a_mess 
where Val(col) > 0