如何编写正则表达式函数来清理SQL Server中的称呼?
我有一个称呼列,其中包含类似 大陆先生 弗兰克豪斯夫人 艾尔斯伯格小姐等
但是有称谓,只有 先生。 小姐。 太太。 然后没有别的了。 我该如何编写一个正则表达式函数来完全删除那些正则表达式,并将其替换为单词:嗨,但请留下任何先生,小姐,先生和太太,太太-如果要跟随一个实际的名字呢?
当称呼少于1个字符或超过15个字符时,我所拥有的就是称呼代码为“嗨”。我现在该怎么写:或者在(先生,小姐,太太)和那么then ' Hi'
select
case when LEN(c.[salutation]) <= 1 OR LEN(c.[salutation]) > 15 OR c.[salutation] IS NULL then ' Hi' ELSE (concat ( ' ',[salutation])) end as [Salutation ]
from tab AS c
答案 0 :(得分:0)
确定找到了解决方法:
select
c.[salutation]
, case when LEN(c.[salutation]) > 15 OR c.[salutation] IS NULL or (LEFT( c.[salutation],5) in ( 'Mr', 'Mrs', 'Miss', 'Mr &' , 'Mrs &' )) then ' Hi' ELSE (concat ( ' ',[salutation])) end as [Salutation ]
from [tab] AS c