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

时间:2015-08-31 13:58:01

标签: sql-server substring extract

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

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

我的想法是,我可以在该领域有多个段落。感兴趣的只是段落中包含“&#39; amount&#39;所以列的预期格式化值应为:

10/12

带有单词金额的段落可以随机定位在字段内容之间(在此示例中,它是第二个但可以变化);

我提前道歉,因为无法从其他主题中提取我想要的输出。我是新手,我用REPLACE和CHARINDEX工作,但我无法解决这个问题。如果有一种更简单的方法来提取它,我将非常感谢你。

谢谢!

1 个答案:

答案 0 :(得分:0)

假设它始终遵循模式&#39; ... mm / yy金额......&#39;然后:

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

然后,这将为您提供表格&#39; 10/12&#39;的字符串。除非你有一年的时间,否则没有办法把它变成一个约会。

从评论中编辑:现在你正在谈论。你需要这样的东西:

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