case when中的转换数字和字符的问题

taotie1225 2009-03-17 07:47:10
在oracle9i中,
select sdt,edt from t1出现的结果是
2009-03-13,15 2009-03-13,15,30
我要得到的结果是
2009-03-13 15:00-16:00,2009-03-13 15:30-16:00
前者是以小时间隔,后者是以半小时间隔。
请问怎么写?解决立马给分
...全文
402 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
taotie1225 2009-03-18
  • 打赏
  • 举报
回复
sdt和edt没有必然联系的,一楼正解
jdsnhan 2009-03-17
  • 打赏
  • 举报
回复
汗一个,题目中的case when在哪儿呢
DiligencyMan 2009-03-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 linzhangs 的回复:]
SQL codeSQL> select * from t;

SDT EDT
-------------------- --------------------
2009-03-13,15 2009-03-13,15,30

SQL>
SQL> select to_char(to_date(replace(sdt, ',', ''), 'yyyy-mm-ddhh24'),
2 'yyyy-mm-dd hh24:mi') || '-' ||
3 to_char(to_date(replace(sdt, ',', ''), 'yyyy-mm-ddhh24') + 1 / 24,
4 'hh24:mi'),
5 …
[/Quote]

小梁子正解啊!
taotie1225 2009-03-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 linzhangs 的回复:]
SQL codeSQL> select * from t;

SDT EDT
-------------------- --------------------
2009-03-13,15 2009-03-13,15,30

SQL>
SQL> select to_char(to_date(replace(sdt, ',', ''), 'yyyy-mm-ddhh24'),
2 'yyyy-mm-dd hh24:mi') || '-' ||
3 to_char(to_date(replace(sdt, ',', ''), 'yyyy-mm-ddhh24') + 1 / 24,
4 'hh24:mi'),
5 …
[/Quote]

这个是执行通过了,但是我在嵌套中就不行了,不知道什么原因,明天再调试下
zcs_1 2009-03-17
  • 打赏
  • 举报
回复
SELECT
to_char(TO_DATE(sdt,'YYYY-MM-DD,HH24'),'yyyy-mm-dd hh24:mi') || '--'
|| to_char(TO_DATE(std,'YYYY-MM-DD,HH24') + 1 / 24,'hh24:mi') std,
to_char(TO_DATE(edt,'YYYY-MM-DD,HH24'),'yyyy-mm-dd hh24:mi') || '--'
|| to_char(TO_DATE(etd,'YYYY-MM-DD,HH24') + 1 /2 / 24,'hh24:mi') etd
FROM t1;
范佩西_11 2009-03-17
  • 打赏
  • 举报
回复
SQL> select * from t;

SDT EDT
-------------------- --------------------
2009-03-13,15 2009-03-13,15,30

SQL>
SQL> select to_char(to_date(replace(sdt, ',', ''), 'yyyy-mm-ddhh24'),
2 'yyyy-mm-dd hh24:mi') || '-' ||
3 to_char(to_date(replace(sdt, ',', ''), 'yyyy-mm-ddhh24') + 1 / 24,
4 'hh24:mi'),
5 to_char(to_date(replace(edt, ',', ''), 'yyyy-mm-ddhh24mi'),
6 'yyyy-mm-dd hh24:mi') || '-' ||
7 to_char(to_date(replace(edt, ',', ''), 'yyyy-mm-ddhh24mi') + 1 / 48,
8 'hh24:mi')
9 from t;

TO_CHAR(TO_DATE(REPLACE(SDT,', TO_CHAR(TO_DATE(REPLACE(EDT,',
------------------------------ ------------------------------
2009-03-13 15:00-16:00 2009-03-13 15:30-16:00

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧