SQL 显示“操作数数据类型 nvarchar 对于 avg 运算符无效。”是怎么回事?

2024-12-12 08:25:58
推荐回答(4个)
回答1:

  1. 说明:

    Avg函数,函数名。主要用来计算包含在特定查询字段中的一组数值的算术平均值。AVG 函数返回数值列的平均值。NULL 值不包括在计算中。

    同时,该函数只有一个参数,参数类型只能是int,float,decimal,money 等 不能用使用字符串等类型:

  2. 提示说明:

    提示:”nvarchar对于avg运算符无效”,说明你给的参数的字符类型是nvarhcar,不符合avg的参数要求。

  3. 分析:测试

    --建立测试表

    create table s ( sa nvarchar(11) )

    --插入数据

    insert into s values (1),(2),(3)

    --测试

    Select avg(sa) as 平均年龄 from s   

    报错:操作数数据类型 nvarchar 对于 avg 运算符无效。

  4. 处理方法:(修改列字符类型)

    alter table s alter column sa int

  5. 再查询:Select avg(sa) as 平均年龄 from s  

    输出结果:平均年龄

    2

回答2:

avg是求平均值 显然这个函数是对应数值型数据的操作 nvarchar是字符型数据 就是string类型的 怎么个平均法呢???

回答3:

avg 是求平均数的,nvarchar是字符, 数字和字符能相比吗,谁见过求平均字的

回答4:

你看下你的Sa字段是不是nvarchar类型的,是的话,把类型改下。