The attacker, a 37-year-old Singaporean, was disarmed by members of the congregation and later arrested by police officers, the Singapore Police Force said in a statement.
"He has past antecedents for serious hurt and misuse of drugs offences," the police said.
"Based on the preliminary investigations, the man is believed to have acted alone and the police do not suspect that this is an act of terrorism, for now.
"The public is urged to remain calm and refrain from speculation as investigations are ongoing to ascertain the motive behind this incident."
The attacker is a Sinhalese who had previously declared to the Immigration and Checkpoints Authority (ICA) that he is Christian, according to Home Affairs Minister K Shanmugam.