2017-02-15 119 views
0

我有格式化爲事件顯示的列:在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」的一些用法將完成這項工作。 –

回答

3

由於日期時間部分總是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

0

如果Production-PMPO_1-是固定,那麼你可以通過用空字符串替換它來完成。

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