如何显示表中的替代值,列具有值“M”和“F”(Oracle DB)
Posted
技术标签:
【中文标题】如何显示表中的替代值,列具有值“M”和“F”(Oracle DB)【英文标题】:How to display alternate values from a table, column having values 'M' and 'F' (Oracle DB) 【发布时间】:2017-01-06 05:03:30 【问题描述】:在我的一次采访中被问到。
我有一个表,其中列值为 M 和 F,我想使用 SQL 查询在输出下方显示。
Row 1 'M'
Row 2 'F'
Row 3 'M'
Row 4 'F'
Row 5 'M'
Row 6 'F'
.
.
.
etc..
谢谢,
【问题讨论】:
但是你有相同数量的男性和女性记录吗?如果不是这种情况会发生什么? 请尝试向我们展示您的查询并询问您在哪里遇到了逻辑问题,而不是要求我们做您的工作。 @ Tim :- 是的,M 和 F 的数量是一样的。 @Vimal:- 我没有要向您展示的查询,但我想下面的查询将按照以下帖子中的建议工作 SELECT owner,decode(to_char(mod(ROWNUM,2)), '0','M','1','F') FROM all_objects WHERE ROWNUM 【参考方案1】:试试这个查询,它会根据备用行返回 M 或 F
SELECT owner,decode(to_char(mod(ROWNUM,2)),'0','M','1','F') FROM all_objects WHERE ROWNUM
【讨论】:
谢谢,这很有道理。【参考方案2】:假设表结构如下
create table test(
gender char(1),
name varchar(50)
);
您的查询应如下所示
select 'Row '||rownum||' '||chr(39)||gender||chr(39) result_data from test;
rownum
给出数字 1、2、3 等。
chr(39)
是单引号字符 '
||
用于字符串连接
结果应该是
Row 1 'M'
Row 2 'F'
Row 3 'M'
Row 4 'F'
Row 5 'M'
Row 6 'F'
【讨论】:
以上是关于如何显示表中的替代值,列具有值“M”和“F”(Oracle DB)的主要内容,如果未能解决你的问题,请参考以下文章
使用 JavaScript,如何在具有多个值的日期列的表中突出显示“今天”的每个日期