最近遇到了一个难题,一个SQL语句不会写,在线等牛人出现。问题是这样的:
数据表 TABLE1 有这些字段:仓库NO,商品NO,日1,日2,日3,。,日31
现在已知仓库NO,以及今天的日期,要取得数据是商品NO。SQL语句大概是这样的:
SELECT 商品NO
FROM TABLE1
WHERE 日X=‘1’(X是当天的日期)
现在主要的问题就是日期是动态的,不知道怎样处理求高人啊
数据表 TABLE1 有这些字段:仓库NO,商品NO,日1,日2,日3,。,日31
现在已知仓库NO,以及今天的日期,要取得数据是商品NO。SQL语句大概是这样的:
SELECT 商品NO
FROM TABLE1
WHERE 日X=‘1’(X是当天的日期)
现在主要的问题就是日期是动态的,不知道怎样处理求高人啊
解决方案 »
- 批量update更新语句的问题
- 关于连接oracle数据库的问题
- 如何用wget下载oracle 11g
- oracle em 无法连上
- [经验分享] 如何在JAVA程序中使用Struct一次传入多条数据给Oracle的存储过程。
- 请教安装问题,谢谢
- 如何修改Oracle中的显示乱码问题
- 关于ORACLE DIRECTORY MANAGER 的启动的问题
- 关于OracleOraHome81ManagementServer服务无法启动问题?
- 请教一个java连接oracle9i的问题~急
- 关于数据迁移出现 ORA-12154: TNS: 无法解析指定的连接标识符(救命啊)
- oracle中日期相加减之后的结果都是interval类型?
2. 所有列全取出来,然后前台处理
3. 使用decode函数
4. 使用case when语法
declare
--假设仓库编码如下
storageNum varchar2(10) := '430581001';
--当前日期
localDay varchar2(2) := '';
strSql varchar2(1000) := '';
begin
--确定字段名称
strSql := 'select to_char(sysdate,''d'') from dual';
execute immediate strSql into localDay;
strSql := 'SELECT 商品NO FROM TABLE1 WHERE 日' || localDay || '=''' || localDay || '''';
dbms_output.put_line(strSql);
end;
--end Prc_get_test;--返回结果
SELECT 商品NO FROM TABLE1 WHERE 日5='5'
FROM TABLE1
WHERE 日X=to_char(sysdate,'YYYYMMHH')
select * from tablename t where t.day=to_char(sysdate,'yyyymmdd')
注意时间格式'yyyymmdd'
3~7楼的SQL语句都有一个问题,就是日X字段是变量,不好直接写吧