当前位置: 首页> 健康> 知识 > 中央人民政府网韦其瑗_建筑招投标网官网_广东疫情防控措施_短视频营销的特点

中央人民政府网韦其瑗_建筑招投标网官网_广东疫情防控措施_短视频营销的特点

时间:2025/8/23 13:50:21来源:https://blog.csdn.net/qq_45797116/article/details/143422938 浏览次数:0次
中央人民政府网韦其瑗_建筑招投标网官网_广东疫情防控措施_短视频营销的特点

问题

在这里插入图片描述
在进行模糊查询的时候,通过全局任意字符串匹配出含有两个字刘姓的人,但是通过刘_不能匹配出结果。

解决

在这里插入图片描述
检查后发现,姓名中包含空格

SELECT * FROM student WHERE TRIM(sname) LIKE '刘_';

第一种解决方案就是查询的时候进行去空格处理,但是一般情况下我们是不知道原数据中是否存在,但是插入数据的时候并没有空格,那么在存储的时候为什么会加入空格呢?
在这里插入图片描述
于是我想到数据类型定义,在Oracle数据库中,CHAR 和 VARCHAR2 是用于存储字符数据的两种不同数据类型,它们之间有几个关键区别:

存储方式

  • CHAR:固定长度的字符数据类型。无论实际存储的字符串长度是多少,都会占用定义时指定的长度。例如,如果定义一个 CHAR(10) 列,存储一个 5 个字符的字符串时,Oracle 会使用 10 个字符的空间来存储这个字符串,其余部分用空格填充。
  • VARCHAR2:可变长度的字符数据类型。只有实际存储的字符串所需的长度会被使用。例如,如果定义一个 VARCHAR2(10) 列,存储一个 5 个字符的字符串时,只会占用 5 个字符的空间。

效率和性能

  • CHAR:在固定长度的情况下,CHAR 可以在某些特定场景下提高性能(如对大量相同长度字符串的处理),但由于其会填充空格,可能会导致存储效率低下。
  • VARCHAR2:通常更节省存储空间,并且在大多数场景下性能优于 CHAR。适合存储长度变化较大的字符串。

空格处理

  • CHAR:当使用 CHAR 数据类型时,在存储过程中多余的空格会被保留。在查询时,如果有必要,Oracle会自动对字符进行填充对齐。
  • VARCHAR2:不会存储多余的空格。在查询时,实际的存储内容会返回,不会有填充。

最大长度限制

  • 在Oracle 12c及之前,CHAR 和 VARCHAR2 的最大存储长度为 2000 字符(对于 VARCHAR2 也可以设置为 4000 字节,取决于字符集)。在Oracle 12c及以后的版本中,VARCHAR2 的最大长度可以扩展到 32,767 字符(在使用 MAX 选项时)。
    在这里插入图片描述
    sname改为varchar2,同时新插入两条数据,再次查看数据:
    在这里插入图片描述
    综上,数据类型在定义时需要有一定的考虑
关键字:中央人民政府网韦其瑗_建筑招投标网官网_广东疫情防控措施_短视频营销的特点

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: