code: func (b *builtinDayOfMonthSig) evalInt(row chunk.Row) (int64, bool, error) {
  	arg, isNull, err := b.args[0].EvalTime(b.ctx, row)
  	if isNull || err != nil {
  		return 0, true, handleInvalidTimeError(b.ctx, err)
  	}
  	if arg.IsZero() {
  		if b.ctx.GetSessionVars().SQLMode.HasNoZeroDateMode() {
  			return 0, true, handleInvalidTimeError(b.ctx, types.ErrIncorrectDatetimeValue.GenWithStackByArgs(arg.String()))
  		}
  		return 0, false, nil
  	}
  	return int64(arg.Time.Day()), false, nil
  }
docs: // evalInt evals a builtinDayOfMonthSig.
  // See https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_dayofmonth