[請益] 如何在沒有zerofill的資料庫上實做zerofill?

看板PHP作者 (貓貓的大玩偶)時間19年前 (2006/04/24 01:52), 編輯推噓3(300)
留言3則, 2人參與, 最新討論串1/1
先解釋一下zerofill,就是寫入資料庫的數字前都會被加上0 例如寫入 1,進去資料庫會變成 000001 zerofill是MySQL的功能,可以在CREATE TABLE的時候指定這個屬性 但是我現在用的SQLite,本身沒有zerofill的功能 之前我在用SQLite 2的時候,用PHP的str_pad函數處理數字 寫入000001,讀出來的時候也是顯示000001 但是現在我用了PDO,改成SQLite 3,如果寫入000001 讀出來會變成1,SQLite自動把我的數字轉換掉了 如果說要把欄位設定成char的屬性是可以解決,但是不知道會不會影響效能 有沒有人知道SQLite,或是其他沒有zerofill功能的資料庫上 如何實做zerofill功能?(欄位屬性需要用int,畢竟搜尋效能比較快) 提供答案的送錢$168^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.74.74.91

04/24 11:41, , 1F
用 sprintf("%04d") 的 zero-padded integer 如何?
04/24 11:41, 1F

04/24 17:05, , 2F
SQLite 2的時候可以,但是換到第三版就不行了
04/24 17:05, 2F

04/24 17:05, , 3F
如果不行我就用char吧...殘念~
04/24 17:05, 3F
文章代碼(AID): #14Ixxtr- (PHP)
文章代碼(AID): #14Ixxtr- (PHP)