例如:
在MySQL中。数据类型Text
,
如果我们在MySQL表中将列定义为Text
,何时在JDBC中检索此列的值,您将获得具有多余尾随空格的值,您可以调用String#trim(),
但是如果这样的列是预期的接受空格字符(输入时按空格键)。那我该怎么办?
MySQL Text仅作为示例,请考虑其他数据库中的其他类似数据类型。
答案 0 :(得分:2)
所以,你的问题应该措辞为:“我如何摆脱我的RDBMS放入我的字段的尾随空格?”
答案很简单:永远不要声明固定宽度的列,例如CHAR(10)或NCHAR(10)。这些类型是在关系数据库的黑暗时代发明的,它们仍然存在的唯一原因是向后兼容遗留系统。
始终使用可变长度宽度列:VARCHAR,NVARCHAR,TEXT。
现在,如果您的列是的可变宽度,但是您的字段包含尾随空格,则这意味着您已从具有固定宽度列的旧表中转换了表。除了阅读所有字段之外,您无法做任何事情,将String.Trim()
应用于它们,并将它们写回数据库。
答案 1 :(得分:1)
String.trim()
不会删除字符串中的空格。
答案 2 :(得分:0)
我认为String.trim()
可以做你想要的,它会删除前导空格和尾随空格。字符串内部的空格将保留。这是你要问的吗?