Get table name without schema

There is a string that could be a table name with ANY schema, not necessarily dbo. How do I get the table name only from the string without knowing the schema? E.g. from ‘dbo.MyTable’ I would need to extract ‘MyTable’.

>Solution :

PARSENAME can be used for this:

SELECT PARSENAME ('server.database.dbo.foo', 1) -- foo
SELECT PARSENAME ('server.database..foo', 1)    -- foo
SELECT PARSENAME ('database..foo', 1)           -- foo
SELECT PARSENAME ('foo', 1)                     -- foo

Leave a Reply