wxy新人小白 2019-11-12 11:58 采纳率: 31.3%
浏览 352

数据库中有x,y两列数,在sql中如何进行加减乘除乘方

问题一:数据库中只有x,y两列数,我下面这样写可以取到z,w两组数吗
要用到乘方直接用^可以吗

问题二:另外我在数据库中只给x五个数(0,120,240,360,480),如何让x可取0-480中任何一数

string dbPath = @"D:\历年高考分数.db";
string sq = @"Data Source=" + dbPath;
m = new SQLiteConnection(sq);
m.Open();
SQLiteDataAdapter mAdapter = new SQLiteDataAdapter = ("select z,w from 特性 where z=0.05x^2+x+86.66 and w=x*y", m);
DataSet ds = new DataSet();
mAdapter.Fill(ds);
DataTable dt = ds.Tables[0];
  • 写回答

1条回答 默认 最新

  • 憧憬blog 2023-03-15 05:17
    关注

    回答:

    问题一:在 SQL 中可以通过下面的语句来进行加减乘除和乘方运算:

    • 加法:z = x + y
    • 减法:z = x - y
    • 乘法:z = x * y
    • 除法:z = x / y
    • 乘方:z = POWER(x,y) 或 z = x ^ y

    对于你的查询语句,可以写成如下形式:

    SELECT (0.05 * POWER(x,2) + x + 86.66) AS z, x * y AS w FROM 特性

    其中使用 POWER 函数来进行乘方运算,也可以使用 ^ 运算符,但要看具体的数据库支持情况。

    问题二:可以使用 SQL 中的 CASE WHEN 语句来进行条件判断,从而限制 x 的取值范围。具体的语句如下:

    SELECT z, w FROM 特性 WHERE x >= 0 AND x <= 480 AND CASE WHEN x = 0 THEN 1 WHEN x = 120 THEN 1 WHEN x = 240 THEN 1 WHEN x = 360 THEN 1 WHEN x = 480 THEN 1 ELSE 0 END = 1

    这句语句会选择 x 在 0 到 480 范围内,并且 x 的值只能是 0、120、240、360 或 480 中的一个。可以根据具体的需求进行修改。

    评论

报告相同问题?

悬赏问题

  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题