简体   繁体   English

SQL 转换为工作日和 hh:mm

[英]SQL convert to week day and hh:mm

Not sure can we convert datetime field column, for example:不确定我们是否可以转换日期时间字段列,例如:

Contactdate
2020-03-12 16:20:34.000
2020-01-01 00:52:34.000

become变得

contact date
Wednesday 12:52
Thursday  04:20
DECLARE @d table(Contactdate datetime);

INSERT @d VALUES('2020-03-12 16:20:34.000'),('2020-01-01 00:52:34.000');

SELECT contact = DATENAME(WEEKDAY, Contactdate), 
       date    = CONVERT(CHAR(5), Contactdate, 108)
FROM @d;

I tend to stay away from FORMAT() - while convenient and flexible, it does not scale in my testing .我倾向于远离FORMAT() - 虽然方便灵活, 但它在我的测试中无法扩展

In SQL Server, you can use format() for this:在 SQL Server 中,您可以为此使用format()

select format(contactdate, N'dddd hh\:mm') formated_date
from mytable

Demo on DB Fiddle : DB Fiddle 上的演示

select contactdate, format(contactdate, N'dddd hh\:mm') formated_date
from (values 
    (cast('2020-03-12 16:20:34.000' as datetime)), 
    (cast('2020-01-01 00:52:34.000' as datetime))
) as t(contactdate)
contactdate             | formated_date  
:---------------------- | :--------------
2020-03-12 16:20:34.000 | Thursday 04:20 
2020-01-01 00:52:34.000 | Wednesday 12:52

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

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