【发布时间】:2011-07-14 14:01:38
【问题描述】:
在我的表中,我有一个字段“名字”和一个字段“姓氏”。我想选择 firstname + space + lastname 为特定值的所有记录。
我试过这个:
$sql = "SELECT * FROM sam_users WHERE (user_firstname + ' ' + user_lastname LIKE ?)";
但这不起作用。通过 Google,我发现了一些关于使用 || 的信息,但我真的不明白我应该如何使用该运算符。请注意,我不想使用或运算符(许多语言中的 ||),而是要连接 2 个字段(它们之间有空格)并在其上使用 LIKE。
谢谢!
【问题讨论】:
-
这是什么 RDBMS?为什么你使用
LIKE而不是=? -
MySQL,但我使用的是 PDO 库 (PHP),因此它应该是可移植的。我使用 LIKE 是因为我正在创建一个“搜索”字段,因此结果应该是所有用户的列表,其名称与输入的字符串类似。
-
@Bv202 - 不确定是否有“最便携”的字符串连接方法。如果有任何答案涵盖这一点,我自己会感兴趣。
-
你想要 WHERE user_firstname LIKE(?) AND user_lastname LIKE(?)?
-
不,我真的需要像 CONCAT 关键字这样的东西