Charindex返回多余的字母

我试图返回以单独的列来分隔城市和州名,但是由于某些原因,我仍然得到错误的结果。

  select    LEFT([Location],LEN([Location]) - CHARINDEX('-',[Location])),
            RIGHT([Location],LEN([Location]) - CHARINDEX('-',[Location]))
        from    HospitalStaff

s