好的到目前为止我有一张存储收据信息的表格。
例如:
TABLE receipt
receipt_ID (int)(primary key)
creditcard (int) //Last 4 digits of credit card.
purhcaseAmount (int)
transactionTypeID (int)
remainingBalance (int)
creditCard列的限制为4位数,因为大多数收据只显示信用卡号码的最后4位数。
但是,有些银行显示前2位数字和最后2位数字,我想将此信息保留在数据库中。
您如何修改数据库设计以满足此业务要求?
答案 0 :(得分:2)
您可能希望存储有关信用卡的多条信息,例如姓名,卡类型等。对于号码本身,为什么要聪明?只需将其设为varchar(19)
并将其存储为12****************34
或您选择的其他格式。
答案 1 :(得分:2)
我不会使用int,即使是最后4位数。根据经验,如果你存储的数字没有意义,如果它被加起来,将它存储为字符串。
答案 2 :(得分:0)
如果您的业务要求是存储4位数字,那么它们在字符串中的位置是否重要?这些信息将用于什么?
如果无关紧要,只需用正则表达式抓住数字,忽略不是数字的东西,然后将数字填入表格列。