Một cái gì đó như thế nào?
select t.*, round(dbms_random.value() * 8) + 1 from foo t;
Chỉnh sửa:David đã chỉ ra rằng điều này tạo ra sự phân phối không đồng đều cho 1 và 9.
Như anh ấy chỉ ra, những điều sau đây mang lại sự phân phối tốt hơn:
select t.*, floor(dbms_random.value(1, 10)) from foo t;