以下查询显示使用 Oracle 10g 数据库中的名字和密码验证用户的登录凭据。
在我的数据库中,名字包含大写和小写字母,但从前端来看,我总是得到小写字母。
SELECT customer_name, CUSTOMER_ID
FROM customer
WHERE first_name = '"+customer.getFirstname()+"'
AND password = '"+customer.getPassword()+"'
我只想检查小写的数据库。有什么可能的方法可以在 Oracle 查询中做到这一点吗?
仅检查小写名称,而不检查密码!密码应包含小写和大写字母,可能还包含特殊符号,以提供更好的保护。
SELECT customer_name, customer_id
FROM customer
WHERE lower(first_name) = lower('"+customer.getFirstname()+"')
AND password = '"+customer.getPassword()+"'
在查询本身中你可以这样做。
对于较低的
lower(first_name)
对于鞋面
upper(first_name)
您可以在这里更改您的查询,如下所示。
SELECT customer_name, CUSTOMER_ID from customer where lower(first_name)='"+customer.getFirstname()+"' AND password='"+customer.getPassword()+"'
尝试作为
SELECT customer_name, customer_id
FROM customer
WHERE lower(first_name) = lower('"+customer.getFirstname()+"')
AND lower(password) = lower('"+customer.getPassword()+"')