сохраненное значение в БД: 5XXXXXX [где x может быть любой цифрой]
Вы не упоминаете типы данных - если числовой, вам, вероятно, придется использовать CAST / CONVERT, чтобы изменить тип данных на [n] varchar.
Использование:
WHERE CHARINDEX(column, '5') = 1
AND CHARINDEX(column, '.') = 0 --to stop decimals if needed
AND ISNUMERIC(column) = 1
Ссылки:
У меня также есть разные случаи, например, XXXX7XX, поэтому он должен быть общим.
Использование:
WHERE PATINDEX('%7%', column) = 5
AND CHARINDEX(column, '.') = 0 --to stop decimals if needed
AND ISNUMERIC(column) = 1
Ссылки:
Поддержка регулярных выражений
SQL Server 2000+ поддерживает регулярные выражения, но выгода заключается в том, что вам нужно создать функцию UDF в CLR, прежде чем у вас появится такая возможность. Существует множество статей, содержащих примеры кода, если вы их гуглите. Если у вас есть это, вы можете использовать:
5\d{6}
для вашего первого примера
\d{4}7\d{2}
для вашего второго примера
Для получения дополнительной информации о регулярных выражениях я настоятельно рекомендую этот сайт .