【发布时间】:2015-03-12 20:44:11
【问题描述】:
我有一个旧的 SQL Server 2000 数据库,我从中读取数据。我的问题是每个涉及字符串的查询都返回一个值,该值与填充空格的列的大小相同。
例如:假设我们有一个名为NAME CHAR(20) 的列。所有查询都会返回:
"John "
而不仅仅是"John"。
我的数据库中是否有导致这种情况的配置或参数,或者是否有任何可以更改的东西来避免这种情况?谢谢。
编辑:
我想澄清一下,我正在使用 JPA 存储库读取我的数据库。我不想从列中物理删除空格,或者使用 RTRIM/LTRIM/REPLACE 手动修剪值。我只是想检索没有尾随空格的列,而不会给查询增加任何额外的压力或以编程方式修剪字段。
【问题讨论】:
-
使用
VARCHAR(20)而不是CHAR(20)-char(n)总是用空格填充到定义的长度(根据定义) -
你考虑过视图还是计算列?
-
是的,我有。事实上,我目前正在阅读视图。问题是我不允许以任何方式修改它们,例如,将 char 转换为 varchar。我必须按原样读取数据。我只是想知道是否有任何方法可以让它返回没有任何尾随空格的值。无论如何感谢你们@marc_s
标签: sql-server sql-server-2000 whitespace