В настоящее время я использую функцию, указанную ниже, чтобы найти текст между двумя строками, моя проблема в том, что ничего не найдено, он просто возвращает ошибку, и я не хочу возвращать ни пространство, ни Null, может ли кто-нибудь предложить какие-либо совет о том, как его изменить.String from 2 Strings
CREATE FUNCTION [dbo].[udf_GetStringBetween2Strings]
(
@String varchar(max),
@FirstString varchar(256),
@SecondString varchar(256)
)
RETURNS VARCHAR(max)
AS
BEGIN
DECLARE @FirstPosition int, @SecondPosition int
SET @FirstPosition = CHARINDEX(@FirstString,@String) + LEN(@FirstString)
SET @SecondPosition = CHARINDEX(@SecondString,@String)
RETURN (SELECT SUBSTRING(@String, @FirstPosition, @SecondPosition - @FirstPosition))
END
Что ваши входные параметры и то, что ваш ожидаемый выход – Mansoor
Привет Мансур, я перепроверил функцию, и я, к сожалению, не спас его правильно, когда я первоначально создан, который был причиной моего оригинального вопроса. Хотя это и зафиксировало вопрос, который я изначально имел, я думал, что буду исследовать его дальше. Например, мой вызов функции читается как select dbo.udf_GetStringBetween2Strings (' merchant_customer_id>', '', ' merchant_customer_id>), так как вы можете видеть, что первое, что я ищу, это строка , это возвращает 't_customer_id>, где действительно мне хотелось бы жало «Not Found», поскольку первая строка не существует. –
PJD
Вы проверили мой нижний запрос. Он подходит для вашего ожидаемого результата.? – Mansoor