Оператор выбора в SQL Сервер возвращает ноль при получении значений, используя электронную почту, где; невозможно получить данные, используя значения с точками, используя select - PullRequest
0 голосов
/ 09 января 2020

Я пытаюсь получить пароль от адреса электронной почты, но проблема в том, что запрос выбора не будет читать значения после точек в столбце электронных писем и возвращает нулевые результаты. Я попробовал функции PARSENAME() и RIGHT(), чтобы он прочитал полный адрес электронной почты. Но не повезло там. Я поместил свой запрос ниже:

select Password 
from Faculty 
where Email = 'john.carson@outlook.com'

Я не получаю пароль, который принадлежит этому адресу электронной почты, вместо этого все, что я получаю, является нулевым. Тип данных - это и адрес электронной почты, и поля ввода пароля nvarchar(100). И есть 5 записей с разными электронными письмами, одна из которых это. Я уверен, что проблема возрастает из-за точек, потому что я попытался использовать фиктивные данные в электронной почте, например johncarson@com, и получил соответствующий пароль. Я использую SQL Сервер в качестве своей базы данных.

Ответы [ 2 ]

0 голосов
/ 09 января 2020

Я проверил фиктивные данные, но он работает, пожалуйста, проверьте с помощью предложения Like, возможно, в поле Email есть свободное место.

Declare @Faculty Table (Email Varchar(300),Password varchar(20))
Insert into @Faculty VALUES ('john.carson@outlook.com','123'),('john1.carson@outlook.com','12335'),('john2.carson@outlook.com','12356')

select Password 
from @Faculty 
where Email = 'john.carson@outlook.com'
0 голосов
/ 09 января 2020

Надеюсь, это будет работать

select Password
from Faculty
where Email like 'john.carson@outlook.com'
...