Sakit perut yang sering terjadi di malam hari disebabkan oleh tukak lambung, tukak duodenum dan obstruksi pilorus. Ketika sakit perut di malam hari terjadi sekitar dua jam setelah makan, sebagian besar disebabkan oleh penyakit tukak lambung. Penderita tukak lambung mengeluarkan banyak asam lambung setelah makan makanan akibat pencernaan makanan, dan begitu asam lambung bersentuhan dengan permukaan tukak, sensasi nyeri di perut pun terjadi. Pasien dengan ulkus duodenum mengosongkan lambungnya di tengah malam, dan karena tidak ada makanan di dalam lambung untuk menetralisirnya, maka asam lambung akan masuk ke dalam duodenum, menyebabkan invasi mukosa duodenum sehingga menyebabkan sensasi nyeri. Sebagian orang mengalami nyeri perut di malam hari yang bersifat kembung, disertai mual dan muntah, dan berhubungan dengan obstruksi pilorus. Apabila terjadi obstruksi pilorus, makanan tidak dapat dikeluarkan, sehingga makanan berfermentasi dan membusuk di dalam perut, menyebabkan nyeri perut, mual dan muntah.