1
faketemp 2023-05-07 21:29:27 +08:00 via iPhone
mysql 有个 locate 函数判断字符串包含关系供参考
类似 WHERE LOCATE(A.x, B.y) > 0 |
2
zsmj1024 2023-05-07 21:30:39 +08:00 via iPhone
SELECT A.x, B.y
FROM TableA AS A JOIN TableB AS B ON CHARINDEX(CAST(A.x AS VARCHAR(255)), CAST(B.y AS VARCHAR(255))) > 0; |
3
huntagain2008 2023-05-08 08:59:03 +08:00
你在胡扯,为什么我用 GPT-4 问,它立刻就给出答案了。
请扮演计算机科学的专家,然后解答以下问题。 表 A 的字段 x 全是数字, 表 B 的字段 y 全是数字且长度大于字段 x 值, 如果字段 x 值是字段 y 值的一部分或相同,则查询出结果。例如 123 属于 12345 ,则显示出 12345 的值。 用到的数据库:MS SQL Server 2022 请帮忙给出 SQL 查询语句。 根据您的需求,您可以使用以下 SQL 查询语句在 MS SQL Server 2022 中查询满足条件的结果: ```sql SELECT A.x, B.y FROM 表 A AS A JOIN 表 B AS B ON CHARINDEX(CAST(A.x AS VARCHAR), CAST(B.y AS VARCHAR)) > 0; ``` 这个查询使用了`CHARINDEX`函数来查找字段 x 值在字段 y 值中的位置。如果字段 x 值是字段 y 值的一部分或相同,`CHARINDEX`函数将返回一个大于 0 的值,满足查询条件。 |
4
mingl0280 2023-05-08 09:08:35 +08:00 via Android
Select B.y from A inner join B on
|
5
mingl0280 2023-05-08 09:12:02 +08:00 via Android
Select B.y from A inner join B on CAST(B.y as VARCHAR(255)) LIKE '%'+CAST(A.x as VARCHAR(255))+'%';
还用得着 ChatGPT? |
6
Apol1oBelvedere OP |
7
Apol1oBelvedere OP 补充一个语句:
-- 请扮演计算机科学的数据库专家,然后解答以下问题。 表 A 的字段 x 全是数字, 表 B 的字段 y 全是数字且长度大于字段 x 值, 如果字段 x 值是字段 y 值的一部分或相同,且字段 x 值长度大于 10 位,则查询出结果字段 x 值, 字段 y 值。 用到的数据库:MS SQL Server 请帮忙给出 SQL 查询语句。 -- 根据您的描述,可以使用以下 SQL 查询语句查询满足条件的记录: ```sql SELECT A.x, B.y FROM 表 A AS A JOIN 表 B AS B ON CHARINDEX(CONVERT(VARCHAR, A.x), CONVERT(VARCHAR, B.y)) > 0 WHERE LEN(CONVERT(VARCHAR, A.x)) > 10; ``` 这个查询首先通过 `JOIN` 语句将表 A 和表 B 连接在一起,使用 `CHARINDEX` 函数检查字段 x 值是否是字段 y 值的一部分(返回值大于 0 表示是一部分)。然后,在 `WHERE` 子句中过滤出字段 x 值长度大于 10 位的记录。 |
8
Apol1oBelvedere OP |
9
panxi 2023-05-08 16:47:16 +08:00
这玩意现在我都交给 gpt4 去做, 效率很高
|