Оператор 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:]]+[[: пространство:]][^[: пространство:]]+'))

Другие вопросы по тегам