code: func (b *builtinLeftBinarySig) evalString(row chunk.Row) (string, bool, error) {
  	str, isNull, err := b.args[0].EvalString(b.ctx, row)
  	if isNull || err != nil {
  		return "", true, err
  	}
  	left, isNull, err := b.args[1].EvalInt(b.ctx, row)
  	if isNull || err != nil {
  		return "", true, err
  	}
  	leftLength := int(left)
  	if strLength := len(str); leftLength > strLength {
  		leftLength = strLength
  	} else if leftLength < 0 {
  		leftLength = 0
  	}
  	return str[:leftLength], false, nil
  }
docs: // evalString evals LEFT(str,len).
  // See https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_left