code: func (b *builtinExportSet4ArgSig) evalString(row chunk.Row) (string, bool, error) {
  	bits, isNull, err := b.args[0].EvalInt(b.ctx, row)
  	if isNull || err != nil {
  		return "", true, err
  	}
  
  	on, isNull, err := b.args[1].EvalString(b.ctx, row)
  	if isNull || err != nil {
  		return "", true, err
  	}
  
  	off, isNull, err := b.args[2].EvalString(b.ctx, row)
  	if isNull || err != nil {
  		return "", true, err
  	}
  
  	separator, isNull, err := b.args[3].EvalString(b.ctx, row)
  	if isNull || err != nil {
  		return "", true, err
  	}
  
  	return exportSet(bits, on, off, separator, 64), false, nil
  }
docs: // evalString evals EXPORT_SET(bits,on,off,separator).
  // See https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_export-set