Son*_*inc 8 sql sql-server datetime
我有以下日期时间列值
2015-01-04 20:37:00.000
Run Code Online (Sandbox Code Playgroud)
我在下面试过
cast(cast(MyDateColumn as date) as datetime)+cast(datepart(hour,MyDateColumn ) as float)/24
as MyDateColumn
Run Code Online (Sandbox Code Playgroud)
和
CAST(CONVERT(CHAR(16),MyDateColumn,113) AS datetime) as MyDateColumn
Run Code Online (Sandbox Code Playgroud)
这些对我不起作用
我怎样才能在01-04.2015 20:37之上达到日期时间?
Jod*_*ell 23
从MS SQL 2012开始,你可以使用FORMAT
,
SELECT FORMAT([MyDateColumn], 'dd-MM.yyyy HH:mm')
Run Code Online (Sandbox Code Playgroud)
在 MYSQL 中它会工作
SELECT DATE_FORMAT(date, '%Y-%m-%d %H:%i') AS formated_date FROM table;
Run Code Online (Sandbox Code Playgroud)
在 MS SQL 中它会工作
SELECT FORMAT(getdate(), 'dd-mm-yyyy HH:mm')
Run Code Online (Sandbox Code Playgroud)
小智 4
在 SQL Server 中,这将起作用:
DECLARE @now [datetime];
SET @now = GETDATE();
SELECT
CONVERT([varchar](10), @now, 105) + ' ' +
RIGHT('0' + CONVERT([varchar](2), DATEPART(HOUR, @now)), 2) + ':' +
RIGHT('0' + CONVERT([varchar](2), DATEPART(MINUTE, @now)), 2);
Run Code Online (Sandbox Code Playgroud)