Why does
left(FIELD, replace(nullif(charindex('-', FIELD), 0), null, len(FIELD)))
always return null? The idea behind the query is that if charindex() returns 0, then convert the results into null, then convert the null into the length of the field. So if ‘-‘ does not exist, show the whole string. For some reason it makes every row equal null.
Thank you.
Because REPLACE() returns NULL if any one of the arguments is NULL. Says so in the docs.
Do this instead: