我需要在SQL Server中将日期(25/01/2019)转换为Jan'19格式

时间:2019-08-02 10:03:54

标签: sql-server

我需要转换DATE列的内容并将其存储在另一列中。

示例

(25/01/2019)至Jan'19。

3 个答案:

答案 0 :(得分:0)

考虑到性能,以下选择不是一个好的选择,但是您可以获得期望的结果-

SELECT 
REPLACE(CAST(FORMAT(CONVERT(DAte,'25/01/2019',103), 'MMM-yy') AS VARCHAR),'-','''')

答案 1 :(得分:0)

使用 FORMAT 是获得所需格式的价值。 如果您有硬编码日期,则可以使用此日期:

SELECT 
REPLACE(FORMAT(CONVERT(Date,'25/01/2019',103), 'MMM-yy'),'-','''')

如果数据库中有列,则可以使用:

SELECT REPLACE(FORMAT(DateColumnHere, 'MMM-yy') ,'-','''')
FROM Table1

答案 2 :(得分:0)

日期类型列没有格式,但是我们可以通过将其转换为字符串来更改显示格式。对于您来说,[myDate]应该是字符串类型的列,例如varchar,在转换显示格式之前,我们会将其强制转换为date。因此,请考虑:

with tab([myDate]) as
(
 select '25/01/2019'
)
select convert(varchar, 
               cast(concat(substring(myDate,7,4),'-',
                           substring(myDate,4,2),'-',
                           substring(myDate,1,2)) as date) ,6)
    as [myDate]
  from tab;

  myDate
  ---------
  25 Jan 19

Demo