Search code examples
mysqloracle-databasecollate

PL/SQL equivalent to MYSQL COLLATE


I am trying to convert some MYSQL code over to ORACLE PL/SQL. I am looking for a equivalent to the COLLATE command.

Here is a code snippet:

CREATE TABLE IF NOT EXISTS `service_types` (
  `service_type_id` int(11) NOT NULL AUTO_INCREMENT,
  `service_type` varchar(50) COLLATE latin1_bin NOT NULL,
  `service_type_code` varchar(5) COLLATE latin1_bin NOT NULL,
  `last_update_date` datetime NOT NULL,
  `last_update_user` varchar(16) COLLATE latin1_bin NOT NULL,
  PRIMARY KEY (`service_type_id`),
  UNIQUE KEY `service_type_ix1` (`service_type_code`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 COLLATE=latin1_bin AUTO_INCREMENT=11 ;

Solution

  • I believe you'd want the linguistic sort parameters NLS_SORT and NLS_COMP. Note that these are session-level settings in Oracle, not table-level settings.