SQL: How to return month and character corresponding to an ordinal number in Oracle -


how can return following result? understand how create first column "connect level" query.

for lvl between 1 , 12, how generate corresponding month? lvl between 1 , 24 (or whatever "chosen" alphabet has), how generate corresponding letter (lower-case character)?

lvl month   char 1   jan     2   feb     b 3   mar     c 4   apr     d 5   may     e 

ok, want know how convert level month , character...

for month: to_char(to_date(level, 'mm'), 'mon')

for letter it's more complicated. in language c, char number , can "char arithmetic" pretty date arithmetic in oracle. however, can't character arithmetic in oracle, or @ least not easily.

the best way create table of "ordinal number, corresponding character" (in whatever language need be) , inner join. there other solutions depend on explicit mappings in character sets; not recommended!

however, if want use ascii letters, can use chr() , ascii() functions , arithmetic. example:

select level                                  lvl,         to_char( to_date(level, 'mm'), 'mon' ) mnth,        chr( ascii('a') + level - 1 )          character dual  connect level <= 5;           lvl mnth         character ---------- ------------ ---------          1 jan                   2 feb          b          3 mar          c          4 apr          d          5 may          e 

Comments

Popular posts from this blog

mysql - Dreamhost PyCharm Django Python 3 Launching a Site -

java - Sending SMS with SMSLib and Web Services -

java - How to resolve The method toString() in the type Object is not applicable for the arguments (InputStream) -