SQl中如何获得时间的时,分,秒部分?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQl中如何获得时间的时,分,秒部分?相关的知识,希望对你有一定的参考价值。

字段 time 类型datetime
我只想让它显示时间的hh,mm,ss该如何操作?

参考技术A SELECT DATEPART(hh,datetime型数据)……
其中的“hh”可以转变成下面任何一种英文!
全写 简写
Year yy, yyyy
quarter qq, q
Month mm, m
dayofyear dy, y
Day dd, d
Week wk, ww
Hour hh
minute mi, n
second ss, s
millisecond ms
参考技术B 假设时间字段为orderdate,可以使用如下语句:
select convert(nvarchar(12),orderdate,108) from tablename
108可以得到你要的时间,想要得到毫秒,可以使用114本回答被提问者和网友采纳
参考技术C select comvert(char(2)datepart(hh,time))+':'+comvert(char(2)datepart(mi,time))+':'+comvert(char(2)datepart(ss,time))
from 表名
参考技术D time= getdate()

如何快速获取 SQL 中存储过程的 last_elapsed_time

【中文标题】如何快速获取 SQL 中存储过程的 last_elapsed_time【英文标题】:How to quickly get last_elapsed_time for a stored procedure in SQL 【发布时间】:2019-07-11 13:07:26 【问题描述】:

我正在尝试使用一些 SQL 数据为 API 创建日志。

我想获得last_elapsed_time(存储过程运行所花费的时间)。

我可以通过交叉应用获得这些数据,但速度非常慢~15 秒。

要制作高性能日志,需要大幅减少此时间。

select 
    'text' = st.text,
    'last_exec_time' = qs.last_execution_time,
    'last_elapsed_time' = qs.last_elapsed_time
from 
    sys.dm_exec_query_stats as qs
cross apply 
    sys.dm_exec_sql_text(qs.sql_handle) as st
where 
    st.text like '%name_of_stored_procedure%'

有没有更快的方法来获取特定存储过程的last_elapsed_time

【问题讨论】:

【参考方案1】:

您可以尝试使用计划句柄而不是 sql 句柄:

SELECT 
    'text' = dest.text,
    'last_exec_time' = qs.last_execution_time, 
    'last_elapsed_time' = qs.last_elapsed_time
FROM sys.dm_exec_cached_plans decp
CROSS APPLY sys.dm_exec_sql_text(decp.plan_handle) AS dest
INNER JOIN sys.dm_exec_query_stats qs on qs.plan_handle = decp.plan_handle
WHERE dest.objectid = OBJECT_ID('<your procedure name>')

【讨论】:

以上是关于SQl中如何获得时间的时,分,秒部分?的主要内容,如果未能解决你的问题,请参考以下文章

如何在时间转换器功能中仅获得前两位秒数

react-当前的时:分:秒-每秒更新

C语言如何获取本地时间,然后取时、分、秒的值?

Orchid Tracking 软件 - 如何将十进制值转换为 GPS 度/分/秒

SQL求两个时间点相减的函数,需求显示,时、分、秒

sql 如何只截取日期数据的 时分秒 ?