关于更改字段类型的疑问,求助!

longagoer 2003-01-13 12:52:05
库中某表的一个字段是field1,类型是varchar,记录的是时间,例如3'23"。
现在想把它转换成小数点表示,例如,将3'23"转成3.23,以利于更新其他的表。请问用sql语句如何实现?
或者在DBA中能实现更好。
我使用的是oracle8.1.6.
...全文
21 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
penitent 2003-01-13
  • 打赏
  • 举报
回复
是的
你用select chr(39) from dual一查不就知道了吗?
longagoer 2003-01-13
  • 打赏
  • 举报
回复
'的asc码是39吗?
好像不是吧?
再请教
penitent 2003-01-13
  • 打赏
  • 举报
回复
楼主的意思好象不是修改类型吧,只是要转换
还有
第一种的length(field)=5才对," 算一个长度
wanghai 2003-01-13
  • 打赏
  • 举报
回复
beckhambobo(beckham) 兄,题目没看清楚吧
没说改数据类型
只要update就行了,用几个字符转换函数就搞定
penitent 2003-01-13
  • 打赏
  • 举报
回复
比较麻烦,你的3'23"中用到了单引号
可以这样,把你的时间分为几类

3'23''
12'23''
3'1''
12'1''
对每一类分别更新

第一种
update table
set field = substr(field,1,1)||'.'||substr(field,3,2)
where length(field)=4
and ascii(substr(field,2,1))=39
其余的就类似了
beckhambobo 2003-01-13
  • 打赏
  • 举报
回复
不能更改,只能把记录全删除,才可通行。

alter table name_table modify column datatype;

17,377

社区成员

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

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