看板 PHP 關於我們 聯絡資訊
先解釋一下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
chhuang:用 sprintf("%04d") 的 zero-padded integer 如何? 04/24 11:41
ottokang:SQLite 2的時候可以,但是換到第三版就不行了 04/24 17:05
ottokang:如果不行我就用char吧...殘念~ 04/24 17:05