为什么strpos, position, charindex return 1 传递空子串时

Why does strpos, position, charindex return 1 when empty substring is passed

为什么这三个 return 在红移中的值为 1?

select strpos('X', '')
select position('' in 'X')
select charindex('', 'X')

因为空字符串是所有字符串的第一部分。