如何在获得特定条件后在一个字符串中获取一些数据

发布于 2024-10-02 15:06:42 字数 254 浏览 1 评论 0原文

我在一栏中有一个搅拌。列名称是 PreviousStageIDs。在本列中,我有一个字符串数据,如 12150, 13250。我想使用 quama 作为条件运行 SQL 语句来分隔 12150。表示在该字符串中,当找到 quama 时,sql 必须获取 quama 之前的所有数据。 帮我解决这个问题...... 提前致谢。

JAY....

12150 一次不是固定的,它是 12150,第二次是 14830。我只想取逗号之前的字符串。

杰伊

I have a stirng in one column. Column Name is PreviousStageIDs. In this column I have a String data as 12150, 13250. I want to run SQL statement to seprate 12150 using quama as condition. Means in this string when quama found then sql must take all the data before quama.
Help me in this matter....
Thank in advance.

JAY....

12150 is not fix one time it is 12150 second time it will be 14830. I wan to take only that string which is before comma.

JAY

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一城柳絮吹成雪 2024-10-09 15:06:42

如果我理解(编辑的)问题,您希望查找逗号分隔列 PreviousStageIds = '12150' 中 first 子字符串的所有行。为此,您可以使用 SUBSTRING() 和 CHARINDEX() 函数。

如果子字符串 '12150' 可以出现在字符串中的任何位置,而不仅仅是作为第一个子字符串,那么您必须使用带有通配符的 LIKE 运算符,并且快速组合是在字符串前面添加一个逗号并将其附加到字符串中:

   ... where  ',' + PreviousStageIds + ',' LIKE '%,12150,%'

您可能还需要从字符串中删除多余的空格。

在关系数据库中存储逗号分隔的列表通常是最糟糕的做法。

If I understand the (edited) question, you want to find all rows where the first substring in comma-delimited column PreviousStageIds = '12150'. For that you would use the SUBSTRING() and CHARINDEX() functions.

If substring '12150' can occur anywhere in the string, not just as the first substring, then you have to use LIKE operator with wildcards, and a quick kludge is to prepend and append a comma to the string:

   ... where  ',' + PreviousStageIds + ',' LIKE '%,12150,%'

You may also need to trim extra spaces from the string.

Storing a comma-delimited list in a relational database is usually WORST PRACTICE.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文