code: func builtinLike(args []types.Datum, _ context.Context) (d types.Datum, err error) {
  	if args[0].IsNull() {
  		return
  	}
  
  	valStr, err := args[0].ToString()
  	if err != nil {
  		return d, errors.Trace(err)
  	}
  
  	// TODO: We don't need to compile pattern if it has been compiled or it is static.
  	if args[1].IsNull() {
  		return
  	}
  	patternStr, err := args[1].ToString()
  	if err != nil {
  		return d, errors.Trace(err)
  	}
  	escape := byte(args[2].GetInt64())
  	patChars, patTypes := compilePattern(patternStr, escape)
  	match := doMatch(valStr, patChars, patTypes)
  	d.SetInt64(boolToInt64(match))
  	return
  }
docs: // See http://dev.mysql.com/doc/refman/5.7/en/string-comparison-functions.html