通过查看Oracle中数字值的某些字符来查看SELECT语句

时间:2015-02-17 17:46:36

标签: sql oracle select

首先发布在这里。请放轻松。 :)

在我的Oracle数据库中,我有一个名为fun_table的表。它包含一个名为FIRSTCOLUMN的列。此列仅包含六位数字值。以下是fun_table目前的行:

FIRSTCOLUMN
-----------
201502
201503
201601

我想从fun_table写一个SELECT语句,其中只有第六个数字不是' 1'的值。并且由于每个后续年份的数据都将遵循此格式(201602,201603,201701等等),我不相信我希望只是忽略其第六个字符为& #39; 1&#39 ;.

这有意义吗?这可能作为SQL中的SELECT语句吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

你有点困惑我但是这里有:

  

我想从fun_table写一个SELECT语句,其中只有第六个数字不是'1'的值。

示例DDL / DML:

create table fun_table (FIRSTCOLUMN INTEGER);
INSERT INTO FUN_TABLE (FIRSTCOLUMN) VALUES (201502);
INSERT INTO FUN_TABLE (FIRSTCOLUMN) VALUES (201503);
INSERT INTO FUN_TABLE (FIRSTCOLUMN) VALUES (201601);
COMMIT;

示例查询:

select *
from fun_table
where substr(firstcolumn,6) <> '1'
;

注意:您可以使用'1'1,但使用1会使用隐式类型转换。
输出:

201502
201503

现在至于这部分:

  

我不相信我只想忽略第六个字符为'1'的值。

我真的不知道你的意思。如果你详细说明,我会扩展我的答案。

答案 1 :(得分:0)

SELECT firstcolumn FROM fun_table WHERE MOD(firstcolumn, 10) <> 1