求一条SQL

hjc1984117 2011-04-22 04:31:11
表中的日期字段(l_time)是varchar2类型的,存放的值类似于‘2010-04-22’.这个是历史问题。
现在的问题是在进行时间条件的搜索时,需要把这个字段转换成时间戳的格式。

构造的SQL条件句类似于“select fileds from table where oracle_function(ls_time)>=时间戳”

求助这个oracle_function,该用哪个,可以把varchar2类型的值转换成时间戳
没怎么接触过ORACLE,但是时间紧,求助!
...全文
109 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
njlywy 2011-04-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 inthirties 的回复:]
to_date to_char都可以
[/Quote]
+1
304的的哥 2011-04-22
  • 打赏
  • 举报
回复

--用to_date(date,format)函数
create table t(
col_1 number(2),
col_2 varchar2(20));
--
insert into t
select 10,'2011-01-01' from dual union all
select 11,'2011-02-02' from dual union all
select 15,'2011-03-05' from dual union all
select 20,'2011-04-21' from dual union all
select 54,'2011-04-22' from dual;
--
SQL> select * from t
2 where to_date(col_2,'yyyy-mm-dd')<=to_date('2011-03-05','yyyy-mm-dd');

COL_1 COL_2
----- --------------------
10 2011-01-01
11 2011-02-02
15 2011-03-05
hjc1984117 2011-04-22
  • 打赏
  • 举报
回复

我不能修改数据库表结构的哈,其实就是想求一函数可以把vacrhar2类型的日期格式化的字符串转换成时间戳。
就是将varchar2类型的'2010-04-22'这种字符串转换成时间戳
baby229 2011-04-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 inthirties 的回复:]
to_date to_char都可以
[/Quote] 这位兄弟说的对
intheair_2008 2011-04-22
  • 打赏
  • 举报
回复
把时间戳转换为varchar2不就行咯

你那样干效率低的
WEIAIISONLYLOVE 2011-04-22
  • 打赏
  • 举报
回复
如果表中没有数据的话:alter table 表名 modify (字段名 类型)
如果有数据的话:修改原字段名:ALTER TABLE 表名 RENAME COLUMN 字段名 TO 字段名1;
添加一个和原字段同名的字段:ALTER TABLE 表名 ADD 字段名 DATE;
将原来的数据更新到新字段中,这是要注意,一定要显示进行数据类型转换:UPDATE 表名 SET 字段名 = CAST(字段名1 AS DATE);
删除原来的备份字段:ALTER TABLE 表名 DROP COLUMN 字段名1;



inthirties 2011-04-22
  • 打赏
  • 举报
回复
to_date to_char都可以

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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