在SQL Server Management解析列的Data Studio

问题描述:

我有格式化为事件显示的列:在SQL Server Management解析列的Data Studio

Production-PMPO_1-2017-02-14 15:30:00.000 

我可以分析出开始无论是在SQL Server Management Studio或在VS(vb.net)使它只有DateTime

2017-02-14 15:30:00

+0

它们总是以'Production-PMPO_1-'作为前缀吗? – Siyual

+0

是的,你可以。 “charindex”和“substring”的一些用法将完成这项工作。 –

由于日期时间部分总是23个字符长,您可以使用RIGHT

SELECT RIGHT(x.Col, 23) as dt 
FROM (SELECT 'Production-PMPO_1-2017-02-14 15:30:00.000' as Col) x 

用VB.NET,你可以使用Substring

Dim dt As String = str.Substring(str.Length - 23) 
+0

Upvote从我身边,但我会添加'CONVERT(DATETIME,RIGHT(...),120)''得到'datetime'回到 – Shnugo

+1

@Shnugo:或者将它存储在'datetime'列中;) –

+0

绝对是真的......我敢肯定,这个问题的原因是希望得到这个排序:-) – Shnugo

如果Production-PMPO_1-是固定,那么你可以通过用空字符串替换它来完成。

DECLARE @a VARCHAR(100)='Production-PMPO_1-2017-02-14 15:30:00.000' 
SELECT REPLACE(@a,'Production-PMPO_1-','');