Ответ 1
сохраненное значение в БД: 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, прежде чем сможете. Существуют многочисленные статьи, содержащие пример кода, если вы их Google. После этого вы можете использовать:
-
5\d{6}
для вашего первого примера -
\d{4}7\d{2}
для вашего второго примера
Для получения дополнительной информации о регулярных выражениях я настоятельно рекомендую этот сайт.