code: func (b *builtinSignSig) evalInt(row chunk.Row) (int64, bool, error) {
  	val, isNull, err := b.args[0].EvalReal(b.ctx, row)
  	if isNull || err != nil {
  		return 0, isNull, err
  	}
  	if val > 0 {
  		return 1, false, nil
  	} else if val == 0 {
  		return 0, false, nil
  	} else {
  		return -1, false, nil
  	}
  }
docs: // evalInt evals SIGN(v).
  // See https://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html#function_sign