我似乎弄不明白这一点,并尝试搜索stackoverflow。
我有两行代码要转换日期。我没有创建这些数据类型或表,也不想更改日期类型,以防弄乱一些东西。
我有一个表,其中一列的类型为(datetime2(7),not null)。我有另一个表,其中列的类型为(datetime,null)。
当我执行查询时,它们(分别)返回一个时间,如下所示
2015-01-25 10:11:50.9050000
2015-01-19 10:24:42.323以上是在我做任何转换或转换之前。
我想把它们的格式转换成
dd/mm/yy hh:mi:ss:mmmAM
所以我使用了下面的代码(分别)
SELECT TagName, CONVERT(DateTime, EventStamp, 131) AS ConvertedTime
FROM ALMDB.dbo.Hist和
SELECT TagName, CONVERT(DateTime, DateTime, 131) AS ConvertedTime
FROM ALMDB.dbo.Hist但它似乎不起作用。它去掉了ss (秒)部分,而月/日/年部分不会根据样式131显示出来。有人知道为什么吗?它看起来像下面这样
25/01/2015 10:11 AM
19/01/2015 10:24 AM我尝试了很多方法,但似乎都不起作用。我正在运行MS SQL server 2012,只是在SQL Server Manager Studio中执行查询。
发布于 2015-01-24 04:17:25
如果要转换为输出格式,则需要从datetime转换为字符串。
试试这个:
SELECT TagName, CONVERT(varchar(255), EventStamp, 131) AS ConvertedTime
FROM ALMDB.dbo.Hist发布于 2015-01-24 04:18:36
您的代码试图从datetime转换为datetime,这不是convert要做的事情。如果您希望控制输出中日期的字符串表示,请改为将其转换为nvarchar:CONVERT(NVARCHAR(25), DateField, 131)。如果您希望更改每个会话的datetime字段的默认字符串表示,请使用SET DATEFORMAT命令。https://msdn.microsoft.com/en-us/library/ms189491.aspx
https://stackoverflow.com/questions/28117958
复制相似问题