加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle数据类型:我应该使用VARCHAR2还是CHAR

发布时间:2020-12-12 13:49:45 所属栏目:百科 来源:网络整理
导读:我应该在Oracle中使用VARCHAR2或CHAR作为数据类型吗? 有人建议我使用CHAR来处理我需要的这些新表,但我很担心,因为这些新表将用于普及使用VARCHAR2数据类型的现有表.我担心在VARCHAR2字段中放置额外的空格以及比较问题.我知道有一些方法可以通过修剪或转换来
我应该在Oracle中使用VARCHAR2或CHAR作为数据类型吗?

有人建议我使用CHAR来处理我需要的这些新表,但我很担心,因为这些新表将用于普及使用VARCHAR2数据类型的现有表.我担心在VARCHAR2字段中放置额外的空格以及比较问题.我知道有一些方法可以通过修剪或转换来比较它们,但我担心它会使我的代码变得杂乱无章.

你有什么看法?

I’m concerned about extra spaces being placed in the VARCHAR2 fields and with comparison issues. I know there are ways to compare them using by trimming or converting them but I’m afraid it will make my code messy and buggy.

实际上恰恰相反.使用CHAR会强制你的字符串固定长度,如果它们太短,可以用空格填充它们.因此,当在使用数据的任何应用程序中将CHAR与常规字符串进行比较时,该应用程序每次都需要添加修剪.换句话说,VARCHAR2是自然导致更清晰代码的选择.

通常,您应始终使用VARCHAR2,除非您有一个非常具体的原因,您需要CHAR列.

如果您担心前面或末尾有额外空格的字符串,那么可以想到一些选项:

>确保插入过程中的任何过程都会对插件进行修剪.>在列上添加一个检查约束,以确保string = trim(string).>添加一个插入前的行级触发器,在插入字符串时对其进行修剪.>确保在查询表时对字符串进行修剪

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读