Your assumption is true, at least for Oracle.
Oracle ensures consistency in the reading that is currently in progress. After the start of reading, it does not matter if other transactions have changed the selected data. Oracle ensures that the data is in the database at the beginning of reading. If he cannot fulfill this guarantee, you will receive the error message "ORA-01555 is too old." However, subsequent samples may not receive the same answer.
To ensure reads of isolation / repeatable readings, you must discard some concurrency because you need to block the table from updates. Oracle decided to be very parallel - readers do not block.
If you are just looking for data at a given time, Oracle is performing flashback requests.
source share