数据库更改字段名查询,有一张表,字段名:xxx,意思是,一条select语句查询出xxx中字符串长度小于10的记录

在数据库中我想查询在XXX表中时间=日的所有流水信息。的语句表达式是什么_百度知道
在数据库中我想查询在XXX表中时间=日的所有流水信息。的语句表达式是什么
提问者采纳
select * from XXXwhere 时间=日
提问者评价
虽然没有能解决问题,
但是还是给与好评/。
其他类似问题
为您推荐:
其他3条回答
elect * from 表名 where 时间字段名 = '' 在数据库中无法直接获取到日的DateTime类型的值。无法识别,直接是字符串存的日。除非你时间字段存的不是DateTime类型
建议不要用“*”,这样会影响查询速度。语法:select
字段1,字段2,字段3 from 表名 where 时间 = ‘'’然后看看数据库中存储类型,看看是不是二楼说的情况。
select * from xxx where 表中时间=‘日’
5月16日的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁摸底测试【理论题】_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
摸底测试【理论题】
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
下载文档到电脑,查找使用更方便
还剩3页未读,继续阅读
你可能喜欢oracle中,有一张表TBL,字段有三个,name,class,scores,要查询除name=xxx的其余记录,什么sql啊,多谢_百度知道
oracle中,有一张表TBL,字段有三个,name,class,scores,要查询除name=xxx的其余记录,什么sql啊,多谢
提问者采纳
select * from tbl where name &&
确定是这样么?多谢了
是啊 你试试啊
哦哦,好!哈哈哈,我还从来没用过这个句子了。。
好就好跪求给满意答案啊
提问者评价
来自团队:
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁博客访问: 368305
博文数量: 67
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: Linux
前两天发现查询库上有一个物化视图报错:
Errors in file /home/oracle/admin/cxdb/bdump/cxdb1_j001_7420.trc:ORA-12012: error on auto execute of job 138ORA-12008: error in materialized view refresh pathORA-01438: value larger than specified precision allowed for this columnORA-06512: at "SYS.DBMS_SNAPSHOT", line 2251ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2457ORA-06512: at "SYS.DBMS_IREFRESH", line 685ORA-06512: at "SYS.DBMS_REFRESH", line 195
查看跟踪文件信息:
*** ACTION NAME:()
15:06:04.898*** MODULE NAME:()
15:06:04.898*** SERVICE NAME:(SYS$USERS)
15:06:04.898*** CLIENT ID:()
15:06:04.898*** SESSION ID:(811.6-06-10 15:06:04.898***
15:06:04.898ORA-12012: error on auto execute of job 138ORA-12008: error in materialized view refresh pathORA-01438: value larger than specified precision allowed for this columnORA-06512: at "SYS.DBMS_SNAPSHOT", line 2251ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2457ORA-06512: at "SYS.DBMS_IREFRESH", line 685ORA-06512: at "SYS.DBMS_REFRESH", line 195ORA-06512: at line 1里面也没有发现详细的那个字段长度或精度不够的信息。
物化视图中涉及到的number类型的且有精度的字段都是这样的:
,CAST(a4.fact_weight * a1.pieces/a4.pieces AS NUMBER(12,2))&&&&&&& AS fact_weight&&&&&&&&&&&&&&&&&&&&&&&&&&&&& -- 实际重量&,CAST(a4.billing_weight * a1.pieces/a4.pieces AS NUMBER(12,2))&&&& AS billing_weight&&&&&&&&&&&&&&&&&&&&&&&& -- 计费重量,CAST(a4.total_volume * a1.pieces/a4.pieces AS NUMBER(12,2))&&&&&& AS total_volume
查看物化视图的基表的对应的字段的长度也是number(12,2),因此按照这样,理应是不会有记录的值超过基表这几个字段的长度或精度的。因为在插入前,都用cast截取了,但是这个物化视图每次刷新的时候还是报这个错误。
为了查出究竟是哪些记录的长度或精度超过了number(12,2),按照基表的结构新建了一张表,写一个plsql块,将物化视图的查询语句insert& xxx&select xxxxx 到新建的表里,并将异常的记录抛出来。最后查出有一条记录的total_volume 字段值的整数位是11位的,小数位是1位。而number(12,2)的整数位是10位的,而cast函数在运算的过程中并没有将11的整数cast为10位的长度,因此报这个错误,也即其实并不是在插入的时候报这个错误,而是在查询时就已经报错了。这个物化视图是有之前的一个标准视图改造过来的,在此之前,标准视图从未报过这个错误,但是我仔细分析过,并不是标准视图没有报这个错误,只是用户在查询数据是没有读到这一行数据,只是在系统中查询的是查询结果集的前1~2百行数据,如果当用户读到这行数据时,一定也会报这个错误。
为了验证cast在查询时就报这个错,测试如下例子:
SQL> SELECT CAST(& AS NUMBER(7,2)) FROM&SELECT CAST(& AS NUMBER(7,2)) FROM dual&ORA-01438: value larger than specified precision allowed for this column
证明了以上的观点是正确的,因此将物化视图这几个字段的格式改为如下:
,CAST(a4.fact_weight * a1.pieces/a4.pieces AS NUMBER(18,6))&&&&&&& AS fact_weight&&&&&&&&&&&&&&&&&&&&&&&&&&&&& -- 实际重量,CAST(a4.billing_weight * a1.pieces/a4.pieces AS NUMBER(18,6))&&&& AS billing_weight&&&&&&&&&&&&&&&&&&&&&&&& -- 计费重量,CAST(a4.total_volume * a1.pieces/a4.pieces AS NUMBER(18,6))&&&&&& AS total_volume
重新刷新物化视图的数据,没有报这个错误了。问题解决。
阅读(7743) | 评论(0) | 转发(1) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&

我要回帖

更多关于 数据库修改字段名 的文章

 

随机推荐