code: func (b *builtinFormatWithLocaleSig) evalString(row chunk.Row) (string, bool, error) {
  	x, d, isNull, err := evalNumDecArgsForFormat(b, row)
  	if isNull || err != nil {
  		return "", isNull, err
  	}
  	locale, isNull, err := b.args[2].EvalString(b.ctx, row)
  	if err != nil {
  		return "", false, err
  	}
  	if isNull {
  		b.ctx.GetSessionVars().StmtCtx.AppendWarning(errUnknownLocale.GenWithStackByArgs("NULL"))
  		locale = "en_US"
  	}
  	formatString, err := mysql.GetLocaleFormatFunction(locale)(x, d)
  	return formatString, false, err
  }
docs: // evalString evals FORMAT(X,D,locale).
  // See https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_format