我在MS SQL Server 2016中有一个表。该表有一个名为notes varchar(255)的列。notes列中包含的数据包含最终用户的注解条目。
从my_table中选择服务日期和注解
ServiceDate, notes
--------------------------------------
9/1/2022 The order was called in AB13456736
9/1/2022 AB45876453 not setup
9/2/2022 Signature for AB764538334
9/2/2022 Contact for A0943847432
9/3/2022 Hold off on AB73645298
9/5/2022 **Confirmed AB88988476
9/6/2022 /AB9847654 completed
我希望能够从注解列中提取单词AB%。我知道ABxxxxxxx总是10个字符。因为ABxxxxxx总是在不同的位置输入,所以很难使用精确的提取位置来查找。我已经尝试了子字符串()、left()函数,并且因为值AB%总是在不同的位置,所以我无法提取它。有什么方法可以做到这一点吗?
先谢谢你了。
1条答案
按热度按时间w3nuxt5m1#
假设
notes
中只有一个AB{string}
,否则您将需要一个表值函数。注意nullif()。如果字符串不存在,这基本上是一个故障安全机制。
示例
结果