Additional SQL Server features and topics not covered by specific categories
I have not paid much attention to how data is stored in the transaction log, but in the disk format, a variable-string is preceded by 1, 2 or 4 bytes indicating the length. For varchar(10), that would be one byte. So you need to read that byte first to get the argument to substring.