作者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