我有这个查询:
select SentDate, SentTime, SeenDate, SeenTime
from Sents
结果像这样:
/////////////////////////////////////////////////////////
SentDate SentTime SeenDate SeenTime
/////////////////////////////////////////////////////////
1394/01/09 10:44 1394/01/22 13:27
1394/01/15 7:15 1394/01/22 14:41
1394/01/15 7:21 1394/01/22 13:18
1394/01/15 7:31 1394/01/22 14:47
1394/01/15 8:28 1394/01/22 13:00
1394/01/15 11:20 1394/01/22 13:41
1394/01/16 9:9 1394/01/22 12:56
1394/01/17 07:48 1394/01/22 12:58
1394/01/17 07:49 1394/01/22 13:28
1394/01/18 12:53 1394/01/22 14:43
1394/01/19 10:33 1394/01/22 14:42
1394/01/19 11:49 1394/01/22 10:59
1394/01/20 08:00 1394/01/22 12:54
1394/01/20 9:43 1394/01/22 10:52
1394/01/20 9:51 1394/01/22 10:51
1394/01/22 6:47 1394/01/22 10:50
1394/01/22 6:50 1394/01/22 10:49
1394/01/22 8:31 1394/01/22 10:39
1394/01/22 9:12 1394/01/22 10:38
1394/01/22 9:12 PM 1394/01/22 10:38 PM
1394/01/23 09:10 PM 1394/01/22 10:9 AM
正如您所看到的,日期(SentDate,SeenDate)在格式上是正确的,我的意思是它们的模式为^(\d{4})[-/](\d\d)[-/](\d\d(?:\d\d)?)
。问题出在SentTime和SeenTime上,我想将它们格式化为(\d{2}):(\d{2})
。
首先,我已经尝试了通过以下方式获取前5个字符:
select SentDate,LTRim(RTRIM(SUBSTRING(SentTime,1,5))), SeenDate, LTRim(RTRIM(SUBSTRING(SeenTime,1,5)))
from erja
但是我不知道如何格式化像7:15
、07:5
或7:7
这样的值
有什么想法吗?
PS:在结果中,时间也会出现这些类型的值:
11:45 ق
11:45 ب
char(10)
,SQL Server的版本是2012。 - Sirwan Afifichar
而不是Date
、Time
或DateTime
且没有遵循任何格式,因此你将不得不使用大量的CASE-WHEN-THEN
。 - Rohit Vipin Mathewsب
代表波斯语中的下午,ق
代表上午。 - Sirwan Afifi