2012-06-10 53 views
3

我试图将服务器应用程序的散列检查移到PostgreSQL。 换句话说,我需要调用PGSQL的查询,它将查询字符串与字段中的字符串进行比较,并将等同比较的结果作为bool进行比较,但我不知道如何在没有清除SQL的情况下执行此操作。将字段与值进行比较并返回bool

UPD:我有表用户与现场密码(目前文本,在未来的 - BYTEA)。我想要写sometihng像

select * from values ('WrittenPassword' = users.password) where username = 'someuser' , 

必须返回true或false作为平等的比较的结果。

+1

'选择字段名=“散列值” AS别名...' – zerkms

+0

模糊的问题。提供更多详细信息并发布已有的代码将有所帮助。 – lanzz

+0

再次阅读。 将字段中的字符串与另一个字段进行比较。 –

回答

13

您可以使用CASE语句返回基于条件的特定值:

SELECT 
    (CASE WHEN password = 'WrittenPassword' THEN 1 ELSE 0 END) AS is_equal 
FROM 
    users 
WHERE 
    username = 'someuser' 
+1

该死的,一个正常答案的正常人。 谢谢,朋友。 –

+0

@ArmanStepanyan你是否意识到它可能会返回NULL? – wildplasser

+0

非空,好吗? –

相关问题