• Eirikur Eiriksson (5/1/2014)


    Why not try Jeff Moden's splitter, pass space as delimiter?

    😎

    Try it...

    with p AS

    (

    SELECT 'asdf12345678901' AS Delivery_Site UNION

    SELECT 'asd f 234 ' UNION

    SELECT ' asdf 345 ' UNION

    SELECT ' asdf 234567'

    )

    select *

    from p

    cross apply dbo.DelimitedSplit8K(p.Delivery_Site, ' ')

    You get a LOT of noise with this. You would still have to left trim everything first. Something like this.

    with p AS

    (

    SELECT 'asdf12345678901' AS Delivery_Site UNION

    SELECT 'asd f 234 ' UNION

    SELECT ' asdf 345 ' UNION

    SELECT ' asdf 234567'

    )

    , SortedValues as

    (

    select *

    from p

    cross apply dbo.DelimitedSplit8K(ltrim(p.Delivery_Site), ' ') x

    )

    select Item

    from SortedValues

    where ItemNumber = 1

    It certainly works but much like the PatternSplit it is overkill for just some string manipulation. 🙂

    _______________________________________________________________

    Need help? Help us help you.

    Read the article at http://www.sqlservercentral.com/articles/Best+Practices/61537/ for best practices on asking questions.

    Need to split a string? Try Jeff Modens splitter http://www.sqlservercentral.com/articles/Tally+Table/72993/.

    Cross Tabs and Pivots, Part 1 – Converting Rows to Columns - http://www.sqlservercentral.com/articles/T-SQL/63681/
    Cross Tabs and Pivots, Part 2 - Dynamic Cross Tabs - http://www.sqlservercentral.com/articles/Crosstab/65048/
    Understanding and Using APPLY (Part 1) - http://www.sqlservercentral.com/articles/APPLY/69953/
    Understanding and Using APPLY (Part 2) - http://www.sqlservercentral.com/articles/APPLY/69954/