SQL Server中的日期时间转换问题

时间:2019-05-31 10:47:19

标签: sql sql-server sql-server-2008

我有这个查询:

tabLayout.setSelectedTabIndicatorColor(Color.TRANSPARENT);

我想要输出为:

declare @a datetime = '20/05/2019 9:22:07'

我尝试过:

2019-05-20 9:22:07

但这给我一个错误:

SELECT CONVERT(CHAR(10),CONVERT(DATETIME,LEFT(@a,10),103),101);

SELECT convert(varchar, convert(date, @a, 105), 101) 

如何转换这种类型的数据?

我想获得适用于所有语言的标准日期时间转换

1 个答案:

答案 0 :(得分:2)

您的转化问题在这里出现:

declare @a datetime = '20/05/2019 9:22:07';

我认为您打算将此作为字符串:

declare @a varchar(255) = '20/05/2019 9:22:07';

要获取小时中只有一位数字的时间,可以使用:

SELECT CONVERT(VARCHAR(10), CONVERT(DATETIME, LEFT(@a, 10), 103), 120) + ' ' + TRIM(RIGHT(@a, 8))

更常见的是,您将使用:

SELECT CONVERT(VARCHAR(20), CONVERT(DATETIME, @a, 103), 120) 

这将产生:

2019-05-20 09:22:07