我已经找到了答案,但只发现有人想要反过来。
我们有一个名为JetReports的报告工具,它是一个Excel插件。
我正在查询一个数据库,其中包含有关谁进入/离开我们的建筑物的信息,并希望按日期/时间进行过滤。
JetReports中的过滤器是文字的,因此如果我使用值EventTime
过滤20/09/2013 13:27
,它会搜索到这一点。有问题的SQL数据库将其存储为DATETIME
值,转换后实际上是41172.5604167
我认为我的用户不希望在运行报告之前将日期转换为此格式,因此我想在Excel中为他们执行此操作。
我是否可以通过某种方式将dd/mm/yyyy hh:mm
格式的日期转换为SQL DATETIME
格式?
答案 0 :(得分:2)
如果您使用的是SQL Server,则不会在您的问题中说明。如果是这样,您是否尝试在服务器端使用CONVERT
?
DECLARE @d nvarchar(100)
SET @d = N'30/10/2013 20:40'
SELECT CONVERT(smalldatetime, @d, 103) AS [DateTime]
答案 1 :(得分:1)
excel中的日期序列号完全相同,只需要格式化,例如如果你有20/09/2013 13:27
并且只是重新格式化为7位小数的数字,那么你应该根据需要看到41172.5604167
如果重新格式化不会更改值,则您的日期/时间是文本格式。尝试使用
转换为数字 Data > Text to columns > Finish