【问题标题】:How to perform a SQL Search String in String如何在字符串中执行 SQL 搜索字符串
【发布时间】:2019-09-08 13:44:20
【问题描述】:

我应该如何在一个字符串中搜索一个字符串?

例如:

  • 列表项

状态从'Open'更改为'Closed'

新列应返回"Closed"

非常感谢。

【问题讨论】:

  • 请将示例数据和您当前的查询添加到问题中。
  • 查询:Select id, description from db.dbo.tickets / description 列包含上面的字符串

标签: sql sql-server tsql


【解决方案1】:

在字符串中搜索字符串可以使用:

CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )

CHARINDEX Microsoft Documentation

【讨论】:

  • 你怎么知道 OP 正在使用 SQL Server?
  • 是的,它是 MSSQL
【解决方案2】:

您没有提供足够的上下文来正确回答您的问题、示例数据等,但您可以从这里开始。

SELECT 'Closed' AS [NEW_STATUS], *
FROM [YourTable]
WHERE [STATUS] -- or whatever the name of the column is that contains the status change text
LIKE "%to 'Closed'%"

根据您的情况替代解决方案:

SELECT
CASE WHEN [StatusText] LIKE "%to 'Closed%"
     THEN 'Closed'
     WHEN [StatusText] LIKE "%to 'Open%"
     THEN 'Open'
END AS [CurrentStatus]
FROM [YourTable]

【讨论】:

  • 谢谢 :) 但输出应该是值而不是固定字符串。
  • 而值“open”和“Closed”是示例。它们可以不同。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-12
  • 1970-01-01
  • 2016-11-30
  • 2014-02-05
相关资源
最近更新 更多