| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2358 人关注过本帖
标题:vfp sql语句查询字段宽度能否控制?
只看楼主 加入收藏
lht
Rank: 2
等 级:论坛游民
帖 子:59
专家分:35
注 册:2010-1-20
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:10 
vfp sql语句查询字段宽度能否控制?
vfp 表 字段宽度为 4 并且是字符型

我想通过sql语句把它转换为“数值型”,

但是得到的结果是  字段宽度变为7或8,

怎样才能把它还控制 原来的宽度4呢??
k.rar (941 Bytes)

select int(val(数量)) as 数量1 from 表

各位高手在百忙之中看看这个问题是否能解决????????
搜索更多相关主题的帖子: sql语句 
2012-12-11 16:16
月沐庭轩
Rank: 9Rank: 9Rank: 9
来 自:京城
等 级:贵宾
威 望:17
帖 子:393
专家分:1106
注 册:2011-7-24
收藏
得分:4 
数值型数据,默认为两位小数,所以将字符型数据转化为数值型时,就会加上小数点和两位小数,会比你的表里的整形字符串多三位,所以变成七位了。
可以用 SET DECIMALS TO 命令解决。
SET DECIMALS TO 0 即可以控制到原来的宽度4,即没有小数位数。。
这个命令的作用是指定数值表达式中的小数位数。

坚持学习vfp,QQ:306805680
2012-12-11 16:30
cxzbzgz
Rank: 8Rank: 8
来 自:云南楚雄
等 级:贵宾
威 望:24
帖 子:296
专家分:808
注 册:2012-6-15
收藏
得分:0 
二楼的方法可行,不过更简便的方法你用以下这个命令看,应该可以的:
select str(val(数量),4,0) as 数量1 FROM k

学习交流VFP,QQ:248561326。
2012-12-11 17:22
月沐庭轩
Rank: 9Rank: 9Rank: 9
来 自:京城
等 级:贵宾
威 望:17
帖 子:393
专家分:1106
注 册:2011-7-24
收藏
得分:0 
回复 3楼 cxzbzgz
楼主想用数值型,你的成了字符型了。

坚持学习vfp,QQ:306805680
2012-12-11 17:27
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9831
专家分:27165
注 册:2012-2-5
收藏
得分:4 
select CAST(数量 as N(4)) AS 数量1 from
请楼主看下CAST()函数的用法

坚守VFP最后的阵地
2012-12-11 17:41
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:4 
vfp6.0下
set deci to 0
sele int(val(数量)) aa from k

图示:
图片附件: 游客没有浏览图片的权限,请 登录注册


图片附件: 游客没有浏览图片的权限,请 登录注册


2012-12-11 18:30
xs591222
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:682
专家分:1299
注 册:2009-3-1
收藏
得分:0 
以下是引用sdta在2012-12-11 17:41:13的发言:

select CAST(数量 as N(4)) AS 数量1 from 表
请楼主看下CAST()函数的用法
8.0中没有CAST()函数
2012-12-11 19:02
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:4 
哈哈,楼上的兄弟们都被“sql语句”几个字下套了,都用了SELECT-SQL语句。其实,这道题用ALTER TABLE-SQL语句就很方便啊:ALTER TABLE 表文件名 ALTER 字段名 类型(宽度[,小数位]) 就好啦。假设表文件名为T1.DBF,而字符型的那个字段名为F1,则语句为:ALTER TABLE T1 ALTER F1 N(4,0)或ALTER TABLE T1 ALTER F1 F(4,0)。
2012-12-11 20:30
月沐庭轩
Rank: 9Rank: 9Rank: 9
来 自:京城
等 级:贵宾
威 望:17
帖 子:393
专家分:1106
注 册:2011-7-24
收藏
得分:0 
回复 8楼 taifu945
楼上办法可行,我刚测试了。
ALTER TABLE k ALTER 数量 N(4,0)

坚持学习vfp,QQ:306805680
2012-12-11 20:39
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:4 
SELECT k.数量 FROM k INTO CURSOR temp readw
ALTER TABLE temp alter COLUMN 数量 N(4)


[ 本帖最后由 qjbzjp 于 2012-12-11 21:45 编辑 ]

相互学习,互相交流,共同提高。
2012-12-11 21:30
快速回复:vfp sql语句查询字段宽度能否控制?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013815 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved