Оператор select не возвращает полный результат из-за пробела между словами
У меня есть оператор выбора, который возвращает только частичное имя и округ из-за пробелов.
Запрос должен вернуть: Stacey Cox, но он возвращает только Stacey. Он также должен вернуть Уэйн Каунти, но он возвращает Уэйн.
Я пытался использовать RegExp, но я получаю сообщение об ошибке: System.Data.SqlClient.SqlException: RegExp не является распознанным именем встроенной функции. Я думаю, это потому, что я использую SQL Server.
Вот мой запрос:
SELECT a.ID, UserName, Location
FROM Location a, UserInfo b
WHERE (b.Id) = (@0) AND (b.UserLocation) = (a.Id) and
(RegExp(UserName, '\\s*\\w+(\\s\\w+)?\\s*'))
Как я могу получить запрос, чтобы вернуть все в поле?
2 ответа
Если вы хотите искать внутри строки, используйте LIKE с подстановочными знаками:
WHERE UserName LIKE '%Stacey%'
Попробуйте этот братан, предполагая, что вы ищете только структуру First Last, а также psql.
ВЫБЕРИТЕ a.ID, Имя пользователя, Местоположение ОТ Местоположения a, Информация пользователя b ГДЕ (b.Id) = (@0) И (b.UserLocation) = (a.Id) и (RegExp(Имя пользователя, '[^[:space:]]+[[: пространство:]][^[: пространство:]]+'))