Hello. I encountered a problem while setting up a test environment to learn the use of the random() function.
The query is as follows: CREATE TABLE users ( id SERIAL PRIMARY KEY, name VARCHAR(100), email VARCHAR(100), signup_date DATE ); INSERT INTO users (name, email, signup_date) SELECT 'User ' || i, 'user' || i || '@example.com', NOW() - (random() * (365 * 5) || ' days')::interval FROM generate_series(1, 1000000) AS s(i); explain analyze SELECT * FROM users WHERE name = 'User '||trunc(random()*100) ; I expected the result to return one record. However, in some cases, the result comes back with 2 or 3 records. What am I doing wrong? I'm not sure if this is a conflict issue between the random() and trunc() functions, or if I have set up the test case incorrectly. I am using PostgreSQL 15.4 version on Ubuntu 22.04 in a container environment. PostgreSQL was built by compiling the Source code. Thank you for your time and consideration. Best regards, Myoungjun Kim