我怎样才能在MYSQL中做这样的事情?
SELECT MyFunction(x)其中x in(1,2,7,20,30);
似乎应该存在一个简单的查询,在Oracle中我可以使用Dual表轻松完成,但我没有看到在MySQL中执行此操作的技巧。请注意,在我的情况下1,2,7,20,30不是来自一个表(在该表中,它很容易,只是一个简单的连接)。在我的情况下,我将在C#中生成查询(特别是整数值),然后进行数据库调用。
任何想法?
答案 0 :(得分:1)
示例输出会有所帮助,但可能是这样......
Select myFunction(X)
FROM (Select 1 UNION Select 2 union select 7 union select 20 union select 30)\
替代:
- 伪...
Select myFunction(X)
FROM (Generate Table containing values Min to max of range passing in)
where Value in (your list);
答案 1 :(得分:1)
union
是一种方法。
SELECT (x + 100)
FROM (select 1 as x union select 2 union select 7 union select 20 union select 30) t;
mysql> SELECT (x + 100)
-> FROM (select 1 as x union select 2 union select 7 union select 20 union select 30) t;
+-----------+
| (x + 100) |
+-----------+
| 101 |
| 102 |
| 107 |
| 120 |
| 130 |
+-----------+
5 rows in set (0.00 sec)