sql从字符串中删除日期和时间戳

时间:2014-07-17 09:16:30

标签: sql sql-server-2008

你们这些真棒的DBA研究员是否知道如何从SQL字符串中删除日期和时间戳?

例如,我有一个包含此字符串的字符串:

" 2014-04-17 15:38:53.2389意外失败System.ServiceModel.FaultException:意外失败"

我想删除" 2014-04-17 15:38:53.2389"只是留下这个:

"意外失败System.ServiceModel.FaultException:意外失败"

我可以使用SUBSTRING

让它工作
SUBSTRING(CAST([stacktrace] AS NVARCHAR(500)),25 ,LEN(CAST([stacktrace] AS NVARCHAR(500)))) as stackTrace

但这并不是非常优雅,并且可能会导致在开始时没有日期的字符串出现问题。

我可以找到删除TimeStamp或删除日期的方法,但我找不到删除这两种方法的方法。

非常感谢任何帮助。

由于

3 个答案:

答案 0 :(得分:0)

我不知道确切的代码,但是:应该可以根据字符串中的第一个字母过滤字符串。

答案 1 :(得分:0)

至少提供一个错误的通用格式,就像你要获得日期和时间戳,或只是时间戳或一些文本,你的错误总是以

开头

答案 2 :(得分:0)

您可以使用以下内容:

检查它是否是开始日期,并在if-else

下相应地设计子字符串
select isdate(convert(varchar(10),'2014-04-17 15:38:53.100',111))

可能你可以用作

if (select isdate(convert(varchar(10),<use substring to get first 25 values>,111)))=1
then <design substring to remove and use data>
else 
<use as-is>