首先发布在这里。请放轻松。 :)
在我的Oracle数据库中,我有一个名为fun_table
的表。它包含一个名为FIRSTCOLUMN
的列。此列仅包含六位数字值。以下是fun_table
目前的行:
FIRSTCOLUMN
-----------
201502
201503
201601
我想从fun_table写一个SELECT语句,其中只有第六个数字不是' 1'的值。并且由于每个后续年份的数据都将遵循此格式(201602,201603,201701等等),我不相信我希望只是忽略其第六个字符为& #39; 1&#39 ;.
这有意义吗?这可能作为SQL中的SELECT语句吗?
谢谢!
答案 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