作者ottokang (貓貓的大玩偶)
看板PHP
標題[請益] 如何在沒有zerofill的資料庫上實做zerofill?
時間Mon Apr 24 02:00:21 2006
先解釋一下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
1F:推 chhuang:用 sprintf("%04d") 的 zero-padded integer 如何? 04/24 11:41
2F:推 ottokang:SQLite 2的時候可以,但是換到第三版就不行了 04/24 17:05
3F:推 ottokang:如果不行我就用char吧...殘念~ 04/24 17:05