在sql语句中如何字符串型转化成浮点型 欢迎其他思路

时间:2021-12-15 16:00:51
问题是这样的:

    我在数据库中定义了一个字符型字段plu(必须这样)
    这个表明叫pt

然后我的sql语句是这样的 select * from pt order by plu

但是得到的结果是这样的:

            假如有这几个数据记录:
                                       100.1
                                       99.2
                                       2.3
                                       1000.9
                                       1.5
                                       
排序的结果是这样的:
                                       1.5
                                       100.1
                                       1000.9
                                       2.3
                                       99.2
                                       
而我想要的结果是这样:                                                    
                                       1.5
                                       2.3
                                       99.2
                                       100.1
                                       1000.9

我想用sql:='select * from pt order by double(plu)';

但是报错,请问该如何解决,我用的是access

9 个解决方案

#1


试试
sql:='select * from pt order by plu * 1.0'

#2


select * from pt order by Convert(Decimal(19,4),plu)

#3


select * from test order by cast(plu as real)

#4


呵呵,这次来的都是高手

#5


cll007的程序报不知名错误

才鸟的ok

为了公平起见,再试验一下小虫的

#6


不好意思,小虫的也报错,说Convert未定义,

#7


sql:='select * from pt order by Convert(Decimal(19,4),plu)'

#8


数据库相关

#9


呵呵, 我是Access XP 可以的, 测试通过才给你贴出来的.

#1


试试
sql:='select * from pt order by plu * 1.0'

#2


select * from pt order by Convert(Decimal(19,4),plu)

#3


select * from test order by cast(plu as real)

#4


呵呵,这次来的都是高手

#5


cll007的程序报不知名错误

才鸟的ok

为了公平起见,再试验一下小虫的

#6


不好意思,小虫的也报错,说Convert未定义,

#7


sql:='select * from pt order by Convert(Decimal(19,4),plu)'

#8


数据库相关

#9


呵呵, 我是Access XP 可以的, 测试通过才给你贴出来的.