正则表达式功能可以清理称呼语

时间:2019-02-25 22:56:28

标签: sql-server

如何编写正则表达式函数来清理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

1 个答案:

答案 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