• As an example, here's DDL with data.

    CREATE TABLE dbo.MyTable ( mystring VARCHAR(200) );

    GO

    INSERT dbo.MyTable

    ( mystring )

    VALUES

    ( 'This is a 7' )

    , ( 'There is a 7 in this string' )

    , ( 'Why must 7 always be here' )

    , ( 'No 7s here. JK' )

    , ( 'My 7s here' )

    , ( 'An 7s here.' )

    , ( 'On 7s here.' );

    GO

    SELECT

    'SetPosition' = SUBSTRING(mystring, 4, 1)

    , 'FindThe7' = SUBSTRING(mystring, CHARINDEX('7', mystring), 1)

    FROM

    dbo.MyTable AS mt;

    DROP TABLE dbo.MyTable;

    Note that in the first 3 rows, the 7 varies by position. The next 4 are fixed, so the first column in my result set works for only the 4 rows that have a fixed position. The second column finds the pattern no matter where it is.