在不使用FORMAT的情况下转换为特定文化DATETIME

时间:2018-04-04 03:07:01

标签: sql-server

我想使用样式113的CONVERT更改SQL Server中的日期时间。

(点击here了解更多信息)

但我希望它具有文化特色。特别是在印尼语(id-id)中,不使用FORMAT(点击here获取更多信息)并仅使用CONVERT

例如,对于日期 2018年8月5日18:21:35:743 ,所需的结果是:

05 Agt 2018 18:21:35:743

实际上,结果是:

05 Aug 2018 18:21:35:743

注意月份差异(Agt和Aug)。期望的结果是印度尼西亚语,而第二个结果是欧洲标准。

我已尝试使用FORMAT,但无论如何只使用CONVERT代替FORMAT

1 个答案:

答案 0 :(得分:1)

有点难看,但我仍然会使用Format()(如果可用)

我不知道印尼的月份,因此mth1 ... Agt ... mth12

示例

Declare @D datetime ='05 August 2018 18:21:35:743'

Select left(convert(varchar(50),@D,113),3)
      +choose(datepart(MONTH,@D),'mth1','mtn2','mth3','mth4','mth5','mth6','mth7','Agt','mth9','mth10','mth11','mth12')
      +right(convert(varchar(50),@D,113),18)

<强>返回

05 Agt 2018 18:21:35:743