【发布时间】:2016-05-13 19:05:22
【问题描述】:
也许我遗漏了一些非常明显的东西,但我试图从一个表中选择一个名为“电子邮件”的列,其类型为字符 (50)。
我设置了一个简单的测试,我可以成功查询除此之外的所有其他列。现在,'name' 和 'password' 列也是 character(50) 类型;
我正在复制并粘贴示例电子邮件“johnsmith@gmail.com”,与数据库中列出的完全相同,我确信没有多余的空格。
这是我的名为“用户”的表:
id | name | email | password
---------------------------------------------
10 | john | johnsmith@gmail.com | adsfpokasdf
我的查询是:
SELECT name FROM users WHERE email = 'johnsmith@gmail.com';
我选择的列类型有问题吗?
这是一张图片: Why is this postgresql SELECT statement returning 0 rows?
【问题讨论】:
-
您的电子邮件中可能有前导空格或尾随空格?
select email from users返回什么? -
另一种测试the suggested的方法是使用
trim()函数:WHERE trim(email) = 'johnsmith@gmail.com'。
标签: postgresql select