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')::intervalFROM generate_series(1, 1000000) AS s(i);explain analyzeSELECT * 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
pgsql-general by date:
Соглашаюсь с условиями обработки персональных данных