相关疑难解决方法(0)

SQL中是否有"LIKE"和"IN"的组合?

在SQL中(遗憾的是)LIKE由于数据库违反了几乎所有规范化规则,因此经常不得不使用" "条件.我现在无法改变它.但这与这个问题无关.

此外,我经常使用条件,例如WHERE something in (1,1,2,3,5,8,13,21)更好的可读性和SQL语句的灵活性.

在没有编写复杂的子选择的情况下,有没有可能将这两种方法结合起来?

我想要一些简单WHERE something LIKE ('bla%', '%foo%', 'batz%')而不是这样的东西:

WHERE something LIKE 'bla%'
OR something LIKE '%foo%'
OR something LIKE 'batz%'
Run Code Online (Sandbox Code Playgroud)

我在这里使用SQl Server和Oracle,但我很感兴趣,如果在任何RDBMS中都可以这样做.

sql t-sql sql-server oracle plsql

322
推荐指数
13
解决办法
43万
查看次数

MySQL LIKE IN()?

我当前的查询如下所示:

SELECT * FROM fiberbox f WHERE f.fiberBox LIKE '%1740 %' OR f.fiberBox LIKE '%1938 %' OR f.fiberBox LIKE '%1940 %'
Run Code Online (Sandbox Code Playgroud)

我做了一些环顾四周,找不到任何类似于LIKE IN()的东西 - 我设想它的工作方式如下:

SELECT * FROM fiberbox f WHERE f.fiberbox LIKE IN('%140 %', '%1938 %', '%1940 %')
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我只是以错误的方式思考问题 - 一些我从未见过的模糊命令.

MySQL 5.0.77-community-log

mysql sql

255
推荐指数
6
解决办法
27万
查看次数

使用正则表达式的任何顺序的多个单词

正如标题所说,我需要在一个句子中找到两个特定的单词.但它们可以是任何顺序和任何外壳.我如何使用正则表达式执行此操作?

例如,我需要提取单词,testlong从下面的句子中提取单词test是第一个还是long来自.

This is a very long sentence used as a test
Run Code Online (Sandbox Code Playgroud)

更新:我在第一部分中没有提到的是它也需要不区分大小写.

regex

47
推荐指数
4
解决办法
5万
查看次数

查找MySQL JSON对象或数组的交集

问题是关于MySQL/MariaDB JSON函数.
如何找到多个JSON结构的交集?
在PHP中,使用以下代码完成:

array_intersect(
    ['a', 'b'],
    ['b', 'c']
);
Run Code Online (Sandbox Code Playgroud)

如果我们想象一个名为JSON_INTERSECT的函数,代码将如下所示:

SET @json1 = '{"key1": "a", "key2": "b"}';
SET @json2 = '["b", "c"]';
SET @json3 = '["c", "d"]';

SELECT JSON_INTERSECT(@json1, @json2); // returns '["b"]';
SELECT JSON_INTERSECT(@json1, @json3); // returns NULL;
Run Code Online (Sandbox Code Playgroud)

mysql json mariadb

5
推荐指数
1
解决办法
835
查看次数

标签 统计

mysql ×2

sql ×2

json ×1

mariadb ×1

oracle ×1

plsql ×1

regex ×1

sql-server ×1

t-sql ×1