便血,原因很多,进食大量辛辣刺激的食物后,消化性溃疡(胃溃疡、十二指肠溃疡),慢性肠炎,痔疮出血,各种肠道细菌感染,炎症性肠病(克罗恩病,溃疡性结肠炎),结直肠癌等等都可致便血。
于你而言,时间好几年,饮食原因排除;消化性溃疡应该也能排除,因溃疡会有左上腹痛,且不会持续这么长时间,若有,那早失血过多危及生命会;
慢性肠炎可有出血,多为黑便,鲜血较少;
痔疮出血可能性稍大,克罗恩病,结直肠癌等其它的疾病也不能排除,建议你直接做肠镜检查,你这持续时间太长了,要早点把原因搞清楚,不要拖时间,以免耽误病情。尽早检查,谢谢。