IF..THEN.. 在 SQL-Server 2005 中格式化输出

IF..THEN.. format OUTPUT in SQL-Server 2005

我想我需要一个 If--Then 子句来完成下面的输出。我看到了这个问题的先前答案,但我不能(我不知道如何)将它应用到我的案例中。 我有一列包含以下文本:

<p>In 12/12 Maria gave away ,000,000 of her money to charity</p>    <p>The 10/12 amount was received with enthusiasm.</p>

我的想法是我可以在字段中有多个段落。感兴趣的只是包含单词 'amount' 的段落中的日期,因此该列的预期格式化值应为:

10/12

单词量的段落可以随机放置在字段内容之间(在本例中是第二个,但可以变化);

对于无法从其他主题中提取我想要的输出,我提前表示歉意。我是新手,我用 REPLACE 和/或 CHARINDEX 工作,但我没能解决这个问题。如果有更简单的方法来提取它,我将不胜感激。

谢谢!

假设它始终遵循模式“... mm/yy 金额 ...”,那么:

Select substring(YourColumn, Charindex('amount', YourColumn)-6,5)
from YourTable

这将为您提供形式为“10/12”的字符串。除非你也有一年,否则真的没有办法把它变成一个日期。

根据评论编辑:现在你在说话。你需要这样的东西:

Select case 
    when Charindex(' amount', YourColumn) > 0 
    then substring(YourColumn, Charindex(' amount', YourColumn)-5,5)
    when Charindex('&nbsp;amount', YourColumn) > 0 
    then substring(YourColumn, Charindex('&nbsp;amount', YourColumn)-5,5)
    else null end as ExtractedInfo
from YourTable