获取varchar2字段的长度

efour 2010-01-18 01:00:21
列:我有表 A,他有3个字段 COL1,Col2,Col3 他们的都是 varchar2(10) 我就是想通过Sql获取这个字段长度 “10”

我想把表结构当做配置文件进行通信数据的字符串解析,所以必须知道每个列的最大长度是多少。。。

小弟不才,请教各位高手!

先谢过各位跟帖的帅哥美女!
...全文
182 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
suiziguo 2010-01-18
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 efour 的回复:]
  to :suiziguo 你的正解,
  但是还有个小问题想再请教一下你,我用table_name='A' 没办法过滤,因为我查询出的表名是这样的“BIN$C6wCFIFiQk2mfQeEWqcF9g==$0” 感觉象乱码,这是怎么回事?
[/Quote]

这个是已经回收站里已经删除的表。

purge user_recyclebin;

清空回收站。
efour 2010-01-18
  • 打赏
  • 举报
回复
注意这里是oracle区,sql的系统表查询方法不必贴了
efour 2010-01-18
  • 打赏
  • 举报
回复
to :suiziguo 你的正解,
但是还有个小问题想再请教一下你,我用table_name='A' 没办法过滤,因为我查询出的表名是这样的“BIN$C6wCFIFiQk2mfQeEWqcF9g==$0” 感觉象乱码,这是怎么回事?
lzf616 2010-01-18
  • 打赏
  • 举报
回复
额,这个问题,只能查找系统表了.............
sorry0481 2010-01-18
  • 打赏
  • 举报
回复
学学
suiziguo 2010-01-18
  • 打赏
  • 举报
回复
如果有N(N>=2)个用户都拥有名为A的表,则必须同时过滤用户。
SELECT table_name,column_name,data_length FROM all_tab_columns
WHERE owner=YOUR_USER_NAME table_name='A' AND column_name IN ('COL1','COL2','COL3');

如果只想查自己拥有的列的情况,则直接使用:
SELECT table_name,column_name,data_length FROM user_tab_columns
WHERE table_name='A' AND column_name IN ('COL1','COL2','COL3');
yf520gn 2010-01-18
  • 打赏
  • 举报
回复

SELECT data_type,char_col_decl_length FROM USER_TAB_COLUMNS WHERE TABLE_NAME='' AND COLUMN_NAME='';
suiziguo 2010-01-18
  • 打赏
  • 举报
回复
SELECT table_name,column_name,data_length FROM all_tab_columns
WHERE table_name='A' AND column_name IN ('COL1','COL2','COL3');
efour 2010-01-18
  • 打赏
  • 举报
回复
是创建表时这个列设置的最大长度是多少
efour 2010-01-18
  • 打赏
  • 举报
回复
不是字符串长度,想要的是这个列的设置
duqiangcise 2010-01-18
  • 打赏
  • 举报
回复
求字符串的长度
length('fffffffffff');--字符数
lengthb('rrrrrrrrr');--字节数

17,377

社区成员

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

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