gpt4 book ai didi

SQL搜索多个字段,返回一个

转载 作者:行者123 更新时间:2023-12-04 20:56:39 25 4
gpt4 key购买 nike

我有一个查询需要将一个值与多列进行比较,并且只返回一列的结果。当它尝试将字符串参数转换为整数时,我一直收到转换错误,但我一直无法找到规避此问题的好方法。

SELECT DISTINCT
CASE
WHEN table_one.integer_col = CAST('argument%' AS int)
THEN table_one.integer_col
WHEN table_one.varchar_col LIKE 'argument%'
THEN table_one.varchar_col
WHEN table_two.varchar_col LIKE 'argument%'
END
FROM table_one
INNER JOIN table_two
ON table_one.pk=table_two.fk
WHERE
table_one.integer_col = CAST('argument%' AS int)
table_one.varchar_col LIKE 'argument%' OR
table_two.varchar_col LIKE 'argument%'

这在“argument%”可以成功转换为整数时有效,但如果不能,查询就会失败。

最佳答案

如何将整数转换或转换为 varchar 数据类型?不要将您的 varchar 搜索参数转换为 int 以匹配 int 列,而是将您的 int 列转换为 varchar。

这是一个简单的例子。

DECLARE @Table  TABLE
(
someInt int
)

INSERT INTO @Table (SomeInt)
SELECT 1234567 UNION ALL
SELECT 98765 UNION ALL
SELECT 24680 UNION ALL
SELECT 13579 UNION ALL
SELECT 963852 UNION ALL
SELECT 147258




SELECT *
FROM @Table
WHERE CAST(SomeInt AS varchar(10)) LIKE '1%'

---- Results
1234567
13579
147258

关于SQL搜索多个字段,返回一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1882100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com