2017-02-03 37 views
-1

在輸入字符串時,導入字符串時出現問題,數字填充爲零,數字爲零。比較數字字符串和零填充

以下兩個查詢會給出不同的結果。第一種是考慮二進制模式下的輸入,
第二種影響正確的查詢。

Client.where('original_identifier = ?', 00002000.to_s).first 
SELECT "clients".* FROM "clients" WHERE (original_identifier = '1024') 

Client.where('original_identifier = ?', "00002000").first 
SELECT "clients".* FROM "clients" WHERE (original_identifier = '00002000') 

Client.where('original_identifier = ?', "00001999").first 

返回一個錯誤IRB Invalid octal digit

然而,對於CSV模塊

@client = Client.where('original_identifier = ?', row[1].to_s).first 

正在生成只有當我所期望的行爲,以像在第二種情況下空結果。

那麼正確的ruby語法是什麼呢?

+0

什麼是cdv模塊? – sawa

+1

爲什麼是二進制?你什麼意思? – sawa

+1

你問題關於'00002000'嗎?二進制文件如何具有字符'2'? – sawa

回答

0

傳遞第一至整數,則字符串匹配搜索數據類型

@client = Client.where('original_identifier = ?', row[1].to_i.to_s).first 

是溶液。