在Sybase中将日期时间截断为秒(删除毫秒)

时间:2014-11-10 16:48:18

标签: sql perl sybase

从Perl脚本执行以下查询时,datetime输出显示为

mon dd yyyy hh:mm:ss:nnn

我需要从datetime截断毫秒:

mmm  dd yyyy 12:00:00:000AM

该字段在数据库中正确显示,只有从脚本运行并且结果重定向到文本文件时,我才遇到此问题。 如何让脚本不显示毫秒?我需要保留AM / PM

有人可以帮忙解决这个问题吗?

查询:

select fieldA, fieldB, fieldC, xyzDate from tableT where xyzDate = '@abcDate'

输出:

|||47.1000000000|Nov  4 2014 12:00:00**:000**AM|USD|US|CPS EOD

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

请注意确保保留AM/PM部分并且无法测试它,但使用DATETIME函数尝试一次

declare @dt datetime;
set @dt = 'mmm dd yyyy 12:00:00:123AM';

select dateadd(millisecond, -datepart(millisecond, @dt), @dt);