SQL Server日期格式如下1/1/12 1:15月/日/年小时:分钟

SQL Server日期格式如下1/1/12 1:15月/日/年小时:分钟,sql,sql-server,getdate,Sql,Sql Server,Getdate,我有这张桌子 create table Photonics ( dt datetime, [12:15 AM] decimal(10, 2), [12:30 AM] decimal(10, 2), [12:45 AM] decimal(10, 2), [1:00 AM] decimal(10, 2), [1:15 AM] decimal(10, 2) ); insert into Photonics values ('2012-01-01', 239.04, 247.

我有这张桌子

create table Photonics
(
  dt datetime,
  [12:15 AM] decimal(10, 2),
  [12:30 AM] decimal(10, 2),
  [12:45 AM] decimal(10, 2),
  [1:00 AM] decimal(10, 2),
  [1:15 AM] decimal(10, 2)
);


insert into Photonics values
('2012-01-01', 239.04, 247.68, 253.44, 254.88, 253.44),
('2012-01-02', 247.68, 249.12, 246.24, 234.72, 230.40),
('2012-01-03', 259.20, 257.76, 254.88, 243.36, 244.80),
('2012-01-04', 270.72, 269.28, 256.32, 249.12, 253.44),
('2012-01-05', 257.76, 254.88, 263.52, 269.28, 272.16)
这是Upovit SQL代码

select 'Photonics' name,
  timestamp = dt + cast(timestamp as datetime),
  value
from photonics p
unpivot
(
  value
  for timestamp in ([12:15 AM], [12:30 AM], [12:45 AM], [1:00 AM], [1:15 AM])
) unpiv;
时间戳显示如下:

2012-01-01 00:15:00.000
2012-01-01 00:30:00.000
2012-01-01 00:45:00.000
2012-01-01 01:00:00.000
2012-01-01 01:15:00.000
我希望时间戳显示为:

1/1/12 0:15
1/1/12 0:30
1/1/12 0:45
1/1/12 1:00
1/1/12 1:15

我尝试了GETDATE,但所有尝试都失败了。我只是想指出,我没有编写上面的代码,非常感谢BlueFoot的帮助。

您可以使用以下代码转换日期:

timestamp 
= convert(varchar(10), dt, 103) +' '+
  convert(varchar(5), cast(timestamp as datetime), 114)
进行完整查询:

select 'Photonics' name,
  timestamp 
    = convert(varchar(10), dt, 103) +' '+
      convert(varchar(5), cast(timestamp as datetime), 114),
  value
from photonics p
unpivot
(
  value
  for timestamp in ([12:15 AM], [12:30 AM], [12:45 AM], [1:00 AM], [1:15 AM])
) unpiv;

看。查看您正在运行的SQL Server的哪个版本的列表?非常感谢您,我非常感谢。