gpt4 book ai didi

mysql - 如何从 matlab 变量(数组/单元格)中选择 mysql 表

转载 作者:行者123 更新时间:2023-11-30 22:20:44 24 4
gpt4 key购买 nike

我有一张这样的 table

The table in mysql

我在 matlab 中有一个变量 x

    x=[1 5 6 8 10 21 99];

现在我要这样选择

    select * from tablename where key1 = x

我知道 mysql 查询必须是字符串,而我在 matlab 中的变量 x 可能太长。那么如何在matlab中做到这一点呢?我搜索失败了。谢谢

    conn = database('instancename','username','password');

我知道我可以这样做

    sql = 'select * from tablename where key in (1,5,6,8,10,21,99)'

问题是我的 x 不是常量,有时可能是 1*N 单元格(其元素是 char),我想将其放入脚本中。

最佳答案

在 SQL Server 中,您可以这样编写查询:

select * from tablename where key1 in {1, 5, 6, 8, 10, 21, 99}

我不知道 MY SQL,但我想它非常相似。这意味着您需要做的就是将 x 转换为字符串 '1, 5, 6, 8, 10, 21, 99',您可以这样做:

x_str = strjoin(cellstr(num2str(x'))',',')

现在整个查询变成了

query = sprintf('SELECT * FROM tablename WHERE key1 IN {%s}', x_str);

顺便说一句,另一种创建 x_str 的方法可能是:

x_str = sprinft('%d, ', x);
x_str(end) = [];

关于mysql - 如何从 matlab 变量(数组/单元格)中选择 mysql 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36686970/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com