A 29-year-old male nurse was injured in the attack, while a third security guard suffered a dislocated shoulder.
The four are “all fine” with minor injuries that were treated on-site and did not require hospitalisation, the spokesman said.
The man was arrested and remains under guard at the hospital.
He has not been charged and will be interviewed by police once he leaves the hospital.
Police will look at the man’s mental health and drug use history to see whether they contributed to the alleged attack, as investigations continue.
The “senseless violence” on hospital staff is horrifying, Health Services Union NSW secretary Gerard Hayes said.
“For the workers on the receiving end, the trauma will continue long after the physical scars have healed,” he said.
“For the last decade, we have had shootings, stabbings and flesh torn from the bodies of our members.”
The union said it will continue advocating for greater security numbers and powers at hospitals, and better personal protective equipment.