Oracle数据类型:我应该使用VARCHAR2还是CHAR
我应该在Oracle中使用VARCHAR2或CHAR作为数据类型吗?
有人建议我使用CHAR来处理我需要的这些新表,但我很担心,因为这些新表将用于普及使用VARCHAR2数据类型的现有表.我担心在VARCHAR2字段中放置额外的空格以及比较问题.我知道有一些方法可以通过修剪或转换来比较它们,但我担心它会使我的代码变得杂乱无章. 你有什么看法?
实际上恰恰相反.使用CHAR会强制你的字符串固定长度,如果它们太短,可以用空格填充它们.因此,当在使用数据的任何应用程序中将CHAR与常规字符串进行比较时,该应用程序每次都需要添加修剪.换句话说,VARCHAR2是自然导致更清晰代码的选择. 通常,您应始终使用VARCHAR2,除非您有一个非常具体的原因,您需要CHAR列. 如果您担心前面或末尾有额外空格的字符串,那么可以想到一些选项: >确保插入过程中的任何过程都会对插件进行修剪.>在列上添加一个检查约束,以确保string = trim(string).>添加一个插入前的行级触发器,在插入字符串时对其进行修剪.>确保在查询表时对字符串进行修剪 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |