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 去做, 效率很高 |