我想把数字显示为alphanumberics

时间:2016-03-14 06:28:36

标签: sql oracle

假设在表格中我有一个数字列为

1
2
3
4

我想将这些行显示为

one
two
three
four

如何使用SQL

3 个答案:

答案 0 :(得分:2)

您可以使用this blog中的技术,该技术使用带日期的黑客来获取数字字段的文本版本。博客文章更详细,但简而言之,它将数字转换为Julian日期,让TO_CHAR使用格式说明符sp(在文本中拼写出来)

SELECT num, TO_CHAR(TO_DATE(num, 'J'), 'Jsp') num_as_text 
FROM myTable
ORDER BY num;

# num  num_as_text
# ----------------
# 1    One
# 2    Two
# 3    Three
# 4    Four

答案 1 :(得分:1)

您可以使用j --> jsp技术拼写数字。这是一个FAQ

  • j = julian 。取数字并假装它是朱利安日期,转换 它变成了约会。

  • jsp =取出该日期并拼写它代表的朱利安数字。

例如,

SQL> SELECT LEVEL,
  2         to_char(to_date(LEVEL,'j'), 'jsp') num_spell
  3  FROM dual
  4  CONNECT BY LEVEL <= 10;

     LEVEL NUM_SPELL
---------- ----------
         1 one
         2 two
         3 three
         4 four
         5 five
         6 six
         7 seven
         8 eight
         9 nine
        10 ten

10 rows selected.

SQL>

答案 2 :(得分:0)

假设架构按照您的建议构建:

Table 
1     2     3     4
value value value value
value value value value
value value value value

您可以使用AS重命名查询中的列:

SELECT 1 AS one
       2 AS two
       3 AS three
       4 AS four
FROM table