【求助】
sqlserver吧
全部回复
仅看楼主
level 1
VS假命题 楼主
请教下各位大神,我这两句查询语句只有price后面跟的数值不同,但是是9.00的时候就会报错,
price 的数据类型是CHAR(8) ,请教一下这是什么原因
2016年05月06日 15点05分 1
level 1
VS假命题 楼主
是不是要加单引号啊???还是char(8)虽然里面存的数值,但是不能直接用来比较??
2016年05月06日 15点05分 2
level 11
你拿字符型和浮点型比当时出错了,两个类型要一样
2016年05月07日 01点05分 3
那这里要怎么比较[疑问]
2016年05月08日 02点05分
@VS假命题 楼下说的对的
2016年05月08日 06点05分
@👻学霸霸 price应该是金额吧。在建表前你就要想好它是什么类型。你建表用的是char也就是字符型。在sql中类型不一样是不能比较的。所以你需要把price的类型转换成浮点型
2016年05月08日 07点05分
@VS假命题 alter table [tbname] alter column price numeric(4,2)这条语句是将表中price类型由char转成numeric型。或者你可以直接用cast(price as numeric(4,2))代替条件中的price
2016年05月08日 07点05分
level 6
alter table [tbname] alter column price numeric,
然后就可以select了
2016年05月08日 05点05分 4
谢谢
2016年05月09日 06点05分
level 13
应该是大于9.0的的price中包括了不能强转的的varchar数据。自己先处理数据吧
2016年07月08日 00点07分 9
level 2
大于9.0的数据肯定有varchar或者其他类型的,查询大于9的时候加个top10排查下数据
2016年07月13日 14点07分 10
level 3

2016年07月13日 14点07分 11
level 3
求大神解答,select语句中大于号后面的数字要不要加引号
2016年07月13日 14点07分 12
肯定不加了 加引号代表字符,字符怎么比较
2016年07月13日 16点07分
@瑚一刀 谢谢
2016年07月14日 09点07分
1