回答

收藏

SQL-为什么在比较字符时填充空格?

技术问答 技术问答 197 人阅读 | 0 人回复 | 2023-09-12

好像DB2和Oracle通过将较短的字符串用右边的空格填充来实现字符比较。但为什么?
3 Z+ ?/ _* f% g$ b. t: T如果数据库引擎修剪较大的字符值而不是用空格填充较短的字符值会更好吗?例如,如果我的查询是SELECT * from SOME_TABLE where
) f% b9 i/ X; X2 ]- K+ G" JCUSTOMER_NAME = 'Popeye+ O6 G3 u. \- P% ]0 ~. X. N) n
',则数据库引擎最终会在的每一行中添加空格SOME_TABLE,否则它可能会修剪此处传递的值,即'Popeye '
1 P& J  U0 T8 \另外,只是好奇地了解为什么Oracle和DB2只在右边添加空格?  n+ b% @" ^5 r; ]& H
                ; B: g9 m" h) I( Z" t  y1 N, y! V
解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则