【发布时间】:2013-10-07 15:06:14
【问题描述】:
当我使用 Java 和 JDBC 使用 SQL 创建表时,我得到了不需要的空格。
CREATE TABLE Customers(name char(15), lname char(15), adress char(15))
当我在列中添加的内容少于列允许的字符时,会在输入中添加空格。
INSERT INTO Customers VALUES ('John', 'Doe', 'Somestreet')
所以'John' 变成了'John ',带有十一个空格字符。
当涉及到进一步的陈述时,这是一个大问题。据我所知,您可以使用LIKE,但我想防止出现'John-Paul' 等条目的问题。所以我想知道你能不能帮我解决这个问题。
我的 Java 代码是这样的:
PreparedStatement prep = con.prepareStatement("UPDATE Customers SET lname=? WHERE name=?");
prep.setString(1, "Example");
prep.setString(2, "John"); // this doesn't work
prep.executeUpdate();
【问题讨论】:
-
使用不同的列类型,例如
TEXT或VARCHAR。 -
Sotirios 指出,这是 CHAR 和 VARCHAR 之间的区别之一......
-
以上建议是正确的。如果由于某种原因无法更改表结构,则可以在查询中使用
RTRIM()函数。 -
@SotiriosDelimanolis 谢谢你我根本没有考虑过列类型
标签: java sql whitespace removing-whitespace