繁体   English   中英

我的SQL代码显示00而不是12 AM。 我该怎么调整呢?

[英]My SQL Code is showing 00 instead of 12 AM. How can i adjust this?

我有以下代码非常适合我。 我在SQL的SSIS包中使用它。 我遇到的问题是,在午夜和凌晨1:00之间,小时显示为00。我想尽可能多地使用以下代码,因为它对我有用,但请进行必要的调整。 任何帮助都会非常感激!!!

谢谢约翰

    SELECT     CASE WHEN DATEPART(hour, DateTimeField) < 13 THEN 
    RIGHT(REPLICATE(' ', 2) + CAST(datepart(hour, DateTimeField) AS VARCHAR(2)), 2) 
    ELSE 
    RIGHT(REPLICATE(' ', 2) + CAST(datepart(hour, dateadd(hour, - 12, DateTimeField))
    AS VARCHAR(2)), 2) END

我想你可以简单地这样做:

SELECT SUBSTRING(CONVERT(CHAR(14), DateTimeField, 100), 13, 2)

假设Oracle,因为你没有指定。 一般技术是使用函数TO_CHAR和允许01-12而不是00-23的日期转换模板。

select to_char(sysdate, 'HH:MI:SS AM') from dual;

select to_char(sysdate, 'HH24:MI:SS') from dual;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM