public UnsignedLong subtract(UnsignedLong val) {
        if (val == null || val.value == 0L) {
            return this;
        }
        return valueOf(this.value - val.value);
    }
Returns an {@code UnsignedLong} whose value is {@code (this - val)}. If the
result would have more than 64 bits, returns the low 64 bits of the result.

@param val value to be subtracted from this unsigned long, null is treated as
           zero
@return {@code this - val}
clickhouse-data/src/main/java/com/clickhouse/data/value/UnsignedLong.java