我正在尝试修剪一个长字符串,其中包含SSRS中表达式中最后的时间和日期。例如,我有一个如下字符串:
cn = bob smith,ou = gastro,ou = bht,dc = hospital,dc = int jane doe 2015年12月29日15:12:44
我希望提取' 2015年12月29日15:12:44 '部分。不幸的是,字符串的所有其他文本部分都是可变的,并且由于月份被写为整个月份名称(而不是Jan / Feb等),因此长度也是可变的。有什么想法吗?
答案 0 :(得分:0)
如果字符串来自SQL查询,则可以在查询中使用正则表达式来获取日期。
SELECT
REGEXP_SUBSTR(
'int jane doe 29 December 2015 15:12:44',
'(\d)+\s(January|February|March|April|May|June|July|August|September|October|Novemeber|December)(.)+'
) date_text
FROM DUAL
此查询适用于Oracle 11g数据库,并提供结果:
DATE_TEXT
29 December 2015 15:12:44
正则表达式查找数字的第一个实例,后跟月份名称,并将其作为子字符串以及之后的所有字符提供,以获取年份和时间。这假设没有其他日期,日期和月份将始终采用这种格式(12月29日或12月29日等)。