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 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog