SELECT * FROM
[SELECT 名称, 管, 长度 FROM 表 WHERE (( TO_CHAR(日期,'YYYY') BETWEEN TO_CHAR(SYSDATE,'YYYY') AND TO_CHAR(SYSDATE,'YYYY')-'5' AND 更换日期 IS NULL ) OR (TO_CHAR(更换日期,'YYYY') BETWEEN TO_CHAR(SYSDATE,'YYYY') AND TO_CHAR(SYSDATE,'YYYY')-'5' )) AND (名称 = '十厂') AND 名称 IS NOT NULL AND 管 IS NOT NULL AS TIMYYBUILD2000
GROUP BY 名称, 管 ORDER BY 名称, 管
[SELECT 名称, 管, 长度 FROM 表 WHERE (( TO_CHAR(日期,'YYYY') BETWEEN TO_CHAR(SYSDATE,'YYYY') AND TO_CHAR(SYSDATE,'YYYY')-'5' AND 更换日期 IS NULL ) OR (TO_CHAR(更换日期,'YYYY') BETWEEN TO_CHAR(SYSDATE,'YYYY') AND TO_CHAR(SYSDATE,'YYYY')-'5' )) AND (名称 = '十厂') AND 名称 IS NOT NULL AND 管 IS NOT NULL AS TIMYYBUILD2000
GROUP BY 名称, 管 ORDER BY 名称, 管
解决方案 »
- 将Oracle从10.2.0.1升级到10.2.0.3时运行补丁包中的runInstaller时出错
- --Oracle存储过程:动态条件怎么写啊?--
- 对ORACLE 10g中已存在的表或其它对象,怎样获取创建语句呢?
- 想学习下存储过程,求资料
- oracle job 多个时间点设置
- 求一个PL/SQL例子
- 求教:按日期删除表记录
- 在SYSTEM用户中有一个名为PBCATTBL表,用来存放什么信息的?
- 我是oracle的新手,请帮帮我!
- 请问我的Oracle http server启动为何总是报错:无法找到动态链接库OCI.dll于指定路径?
- 触发器不是按行触发时,用什么引用?
- 我是一个计算机新手,想问一个非常简单的问题
SELECT * FROM
SELECT 名称, 管, 长度 FROM 表 WHERE (( TO_CHAR(日期,'YYYY') BETWEEN TO_CHAR(SYSDATE,'YYYY') AND TO_CHAR(SYSDATE,'YYYY')-'5' AND 更换日期 IS NULL ) OR (TO_CHAR(更换日期,'YYYY') BETWEEN TO_CHAR(SYSDATE,'YYYY') AND TO_CHAR(SYSDATE,'YYYY')-'5' )) AND (名称 = '十厂') AND 名称 IS NOT NULL AND 管 IS NOT NULL AS TIMYYBUILD2000
GROUP BY 名称, 管 ORDER BY 名称, 管
这样写提示表无效 "表"是存在的
SELECT 名称, 管, 长度 FROM 表 WHERE (( TO_CHAR(日期,'YYYY') BETWEEN TO_CHAR(SYSDATE,'YYYY') AND TO_CHAR(SYSDATE,'YYYY')-'5' AND 更换日期 IS NULL ) OR (TO_CHAR(更换日期,'YYYY') BETWEEN TO_CHAR(SYSDATE,'YYYY') AND TO_CHAR(SYSDATE,'YYYY')-'5' )) AND (名称 = '十厂') AND 名称 IS NOT NULL AND 管 IS NOT NULL AS TIMYYBUILD2000
这不分怎么写,我加了括号也不好用
WHERE
(
( TO_CHAR(日期,'YYYY') BETWEEN TO_CHAR(SYSDATE,'YYYY') AND TO_CHAR(SYSDATE,'YYYY')-'5' AND 更换日期 IS NULL )
OR
(TO_CHAR(更换日期,'YYYY') BETWEEN TO_CHAR(SYSDATE,'YYYY') AND TO_CHAR(SYSDATE,'YYYY')-'5' )
) AND
(名称 = '十厂') AND 名称 IS NOT NULL AND 管 IS NOT NULL
select * from aa
aa: 表示 SELECT 名称, 管, 长度 FROM 表 WHERE (( TO_CHAR(日期,'YYYY') BETWEEN TO_CHAR(SYSDATE,'YYYY') AND TO_CHAR(SYSDATE,'YYYY')-'5' AND 更换日期 IS NULL ) OR (TO_CHAR(更换日期,'YYYY') BETWEEN TO_CHAR(SYSDATE,'YYYY') AND TO_CHAR(SYSDATE,'YYYY')-'5' )) AND (名称 = '十厂') AND 名称 IS NOT NULL AND 管 IS NOT NULL AS TIMYYBUILD2000 AS TIMYYBUILD2000 相当于表名
我这样设计可以吗 access实现了
(( TO_CHAR(日期,'YYYY') BETWEEN TO_CHAR(SYSDATE,'YYYY') AND TO_CHAR(SYSDATE,'YYYY')-'5' AND 更换日期 IS NULL ) OR (TO_CHAR(更换日期,'YYYY') BETWEEN TO_CHAR(SYSDATE,'YYYY') AND TO_CHAR(SYSDATE,'YYYY')-'5' ))
这个条件不是等同于
(TO_CHAR(更换日期,'YYYY') BETWEEN TO_CHAR(SYSDATE,'YYYY') AND TO_CHAR(SYSDATE,'YYYY')-'5' )吗,
按照你的意思:
SELECT * FROM
(SELECT 名称, 管, 长度 FROM 表 WHERE (( TO_CHAR(日期,'YYYY') BETWEEN TO_CHAR(SYSDATE,'YYYY') AND TO_CHAR(SYSDATE,'YYYY')-'5' AND 更换日期 IS NULL ) OR (TO_CHAR(更换日期,'YYYY') BETWEEN TO_CHAR(SYSDATE,'YYYY') AND TO_CHAR(SYSDATE,'YYYY')-'5' )) AND (名称 = '十厂') AND 名称 IS NOT NULL AND 管 IS NOT NULL ) TIMYYBUILD2000
GROUP BY 名称, 管 ORDER BY 名称, 管
这样好用了,不过我想问一下为什么不用as就可以了呢?