select *from table_namewhere isnumeric(field_name) = 0 or (c
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/10 11:44:02
select *
from table_name
where isnumeric(field_name) = 0 or (charindex('.',field_name) > 0 and isnumeric(field_name) = 1 and floor(field_name) ceiling(field_name))
其中field_name是nvarchar类型的,floor()和ceiling()括号里的要求是numeric类型的,会出问题的,
from table_name
where isnumeric(field_name) = 0 or (charindex('.',field_name) > 0 and isnumeric(field_name) = 1 and floor(field_name) ceiling(field_name))
其中field_name是nvarchar类型的,floor()和ceiling()括号里的要求是numeric类型的,会出问题的,
不可能出问题的,where条件是有执行顺序的.如果isnumeric(field_name) = 0成立也就是说不是数字的话,or后面的语句是不会被执行的,也就谈不上floor里要求什么值了.
再问: where是有执行顺序,但or是或,这个条件的意思是或者不是数字,或者是数字但不是整数,就在这里会弹出错误:从数据类型 nvarchar 转换为 float 时出错;
再答: 没理由啊,我随便找个table,field测了一下,没问题啊,吧你的出错数据贴出来看看
再问: 我测试了半天,原来数据中还有1,5这种数据, select * from table_name where charindex('.', field_name) = 0 and isnumeric(field_name) = 1 执行之后,这条数据会被查询出来,不报错,加上floor(field_name) = ceiling(field_name)就出现那个错误
再答: 没想到"1,5"也算numeric,用下面的sql就可以了(会把1,5选出来,不会出错): select * from table_name where isnumeric(field_name) = 0 or CHARINDEX(',', field_name) > 0 or (charindex('.', field_name) > 0 and isnumeric(field_name) = 1 and floor(field_name) ceiling(field_name))
再问: where是有执行顺序,但or是或,这个条件的意思是或者不是数字,或者是数字但不是整数,就在这里会弹出错误:从数据类型 nvarchar 转换为 float 时出错;
再答: 没理由啊,我随便找个table,field测了一下,没问题啊,吧你的出错数据贴出来看看
再问: 我测试了半天,原来数据中还有1,5这种数据, select * from table_name where charindex('.', field_name) = 0 and isnumeric(field_name) = 1 执行之后,这条数据会被查询出来,不报错,加上floor(field_name) = ceiling(field_name)就出现那个错误
再答: 没想到"1,5"也算numeric,用下面的sql就可以了(会把1,5选出来,不会出错): select * from table_name where isnumeric(field_name) = 0 or CHARINDEX(',', field_name) > 0 or (charindex('.', field_name) > 0 and isnumeric(field_name) = 1 and floor(field_name) ceiling(field_name))
select count(c) from (select b from TUserBankLogSum b group
select A,B,C,D=(select count(*) from 表 where c=a.a and b=a.b
select brand name from this list or type below
Please select a city or zipcode from the drop-down.
英语翻译select top 4 * from shop_books where anclassid = (select
select * from tab_a inner join tab_b on tab_a.col1 = tab_b.c
select * from book where 1=1
select A.a,b,c,d from A,B where A.a=B.a and f='1'
SELECT COUNT(*) FROM Users WHERE Id={0} AND LoginPwd = '{1}'
select count(distinct b) from X_info where c=1;能放到一个CASE内么 不
select*from ‘ * ’ 的意义?
select * from book limit ,