Split String In SQL

yesterday, i came to know that there is no built in split function in SQL, when i need to split a string in SQL. Any way when there is will there is a way, i did it by two built in functions of SQL Substring and charindex. like following

SUBSTRING(mystring,1,(CHARINDEX('-',string )-1))