SQL Server 2014中如何提取字符串文本中的日期值
提取字符串末尾日期的解决方案
方法一:Excel公式(适用于Excel表格场景)
由于所有目标字符串的前缀是固定的Salaries and wages for the period ending ,可以直接用以下两种公式实现:
- 替换前缀法:
直接把开头固定前缀替换为空,剩余部分就是目标日期。=REPLACE(A1,1,LEN("Salaries and wages for the period ending "),"") - 右侧截取法:
前缀固定长度为39(包含末尾空格),也可以用长度差截取:=RIGHT(A1,LEN(A1)-39)
如果前缀存在变动,但日期始终跟在ending 之后,Excel 365及以上版本可以用更灵活的函数:
=TEXTAFTER(A1,"ending ")
方法二:Power Query(适用于Power BI/Excel数据建模场景)
在Power Query中处理表格列,可通过以下步骤添加提取日期的自定义列:
- 将表格加载进Power Query
- 点击「添加列」→「自定义列」
- 输入M语言公式(替换
[ColumnName]为你的实际列名):= Text.AfterDelimiter([ColumnName], "ending ") - 确认后即可得到提取后的日期列
方法三:SQL(适用于数据库表场景)
如果数据存储在数据库中,以SQL Server为例,可通过字符串定位+截取实现:
SELECT RIGHT(YourColumnName, LEN(YourColumnName) - CHARINDEX('ending ', YourColumnName) - 6) AS ExtractedDate FROM YourTable
通过CHARINDEX定位ending 的位置,计算出日期部分的起始点后,用RIGHT截取末尾内容。
内容的提问来源于stack exchange,提问作者KEN ESTOYA
相关产品推荐
相关产品推荐

