【发布时间】:2016-03-14 06:28:36
【问题描述】:
假设在表中我有一个数字列
1
2
3
4
我想将这些行显示为
one
two
three
four
如何使用 SQL
【问题讨论】:
-
对于沟通不畅,我深表歉意,所有数据都存在于 empid 列中,因此我需要将 empid 列中的所有数据显示为字母
假设在表中我有一个数字列
1
2
3
4
我想将这些行显示为
one
two
three
four
如何使用 SQL
【问题讨论】:
您可以使用来自this blog 的技术,该技术使用带有日期的 hack 来获取数字字段的文本版本。博客文章更详细,但简而言之,它将数字转换为儒略日期,让 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
【讨论】:
您可以使用j --> jsp 技术拼写数字。这是FAQ。
j = 朱利安。取数字并假装它是朱利安日期,转换 把它变成一个日期。
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>
【讨论】:
假设架构按照您的建议进行结构化:
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
【讨论】: