佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 885|回复: 6

一个关于varchar的问题。。

[复制链接]
发表于 21-6-2006 12:54 AM | 显示全部楼层 |阅读模式
因为我必须储存"90,000.00"这类的资料,所以r_price 的column type 我用 varchar

当我execute 下面的query时,r_price = 90,000.00的资料并不会被return.. why?

SELECT * WHERE r_price <= '100,000.00'

但是如果我execute

SELECT * WHERE r_price BETWEEN '100,000.00 AND '200,000.000'

r_price = 120,000.00或者是 = 124,000.00的资料都可以被return

为何?

[ 本帖最后由 counterking 于 21-6-2006 03:34 AM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 21-6-2006 09:18 AM | 显示全部楼层
你应该用 float, 或 decimal.
在储存和显示的时候可以用 coding 来控制你要显示的格式.
回复

使用道具 举报

发表于 4-7-2006 03:55 PM | 显示全部楼层
原帖由 counterking 于 21-6-2006 12:54 AM 发表
因为我必须储存"90,000.00"这类的资料,所以r_price 的column type 我用 varchar

当我execute 下面的query时,r_price = 90,000.00的资料并不会被return.. why?

SELECT * WHERE r_price <= '1 ...


确定 '90,000.00' <= '100,000.00' 吗?  
回复

使用道具 举报

发表于 8-7-2006 01:03 AM | 显示全部楼层
没有install SQL server,
但逻辑应该是这样。

varchar是string。
比较string的方法和int/float不同。

90,000不return因为'900'是大过'1000'的。
只要第一个char大过就是大过了。

好像goatstudio说的,
用double吧。
回复

使用道具 举报

发表于 8-7-2006 09:22 PM | 显示全部楼层
如果是ORACLE的话, 试试用TO_NUMBER.

或用CONVERT

ie, convert(data type, column name)

[ 本帖最后由 microSys 于 8-7-2006 09:26 PM 编辑 ]
回复

使用道具 举报

发表于 14-7-2006 10:47 PM | 显示全部楼层
原帖由 tensaix2j 于 4-7-2006 03:55 PM 发表


确定 '90,000.00' <= '100,000.00' 吗?  



在 varchar / string comparison 来说, '90,000.00' > '100,000.00'  ... 因为 9 > 1
回复

使用道具 举报

Follow Us
发表于 15-7-2006 10:58 AM | 显示全部楼层
我所知道, CHAR 和 VARCHAR 的分别是。

CHAR FIELD 是 STORE FULL CHARACTER SET。
VARCHAR FIELD 是 STORE VARIABLE CHARACTER SET。

要如何说呢 ?

如果我要 STORE STRING "ABC" ,在 CHAR FIELD 将会贮藏
6 SPACES。 VARCHAR FIELD 就贮藏 3 SPACES。

EXAMAPLE:
CHAR FIELD (6)    : "ABC   "
VARCHAR FIELD (6) : "ABC"

如果要用 SQL SELECT , CHAR FIELD 先要 TRIM 才得到答案。
我在 DB2 里的经验。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 12-11-2024 03:45 AM , Processed in 0.107976 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表