Substring() with field that has empty records?

I am trying to add a custom column to a question, with an expression.

Essentially I want to show only the first 10 characters of what could be a long field. That field could also have empty/null records, so I tried the following:

= case(
NOT isempty([services → note]) AND NOT isnull([services → note]),
substring([services → note], 0, 10)
)

However substring keeps giving me this error: "Expected positive integer but found 0".

I also tried bringing the case within the substring:

substring(
    case(
       NOT isempty([services → note]) AND NOT isnull([services → note]), 
       [services → note], 
       ""
    )
, 0, 10)

What am I missing, please?

I'm running latest Metabase 0.47.9.

what DW are you connecting to?