I need to select records from table a where both columns b and c are not 0
This is not possible given your data type. You can manage to select records from table a where both columns b and c are not '0'.
Yes, I'm getting records where both b and c are == '0'.
This is also not possible, unless Oracle is behaving like no other database, which seems very unliklely. Are you sure you are not getting results where b or c equals an zero character followed or preceded by from white space? Or b or c equals the letter O?