【发布时间】:2020-05-20 00:45:54
【问题描述】:
这个问题很清楚。例如,我想检查一个数字 x 是否包含在另一个数字 y 中。我想用 SQL 来做(如果可能的话也在 LINQ 中)。此外,这些整数值(y 值)是表中的 ID。因此,当涉及 LINQ 时,我不是在寻找一些通用的解决方案,例如:
int y=123,x=32;
bool isContainedInY = y.ToString().Contains(x.ToString());
例子:
x = 5, y = 1256 => true
x = 384, y = 38412 => true
x = 1, y = 5236 => false
答案可以基于如下表格:
+------+-------+
| Id | Name |
+------+-------+
| 52 | Lola |
| 65 | Dolly |
| 88 | Wolly |
| 102 | Sorry |
+------+-------+
【问题讨论】:
-
到目前为止你尝试了什么。有转换和字符串函数可以满足你的需要。
-
数字不包含其他数字,字符串包含。一个简单的
LIKE '%5%'就可以了。在 LINQ 中,String.Contains(substring)被转换为LIKE '%substring%' -
这个问题还不清楚 - 你想做什么?这是一个非常缓慢的操作,无法通过索引来加速。它将扫描整个表以检查每个值。无论您想做什么,都可能有更好的方法来做。如果您想将数字用作一组标志,请不要。您可以使用单独的字段,小到单个字节,易于查询和索引
-
没有@SurajKumar 根本没有回答我的问题。我已经知道该问题中作为答案给出的所有内容。使用字符串很容易。
-
@GiraySekerlen 为什么?这就是您在问题本身中写的,但是为什么?您试图通过在另一个数字中搜索一个数字来解决什么真正的问题?
标签: sql sql-server