SQl中如何获得时间的时,分,秒部分?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQl中如何获得时间的时,分,秒部分?相关的知识,希望对你有一定的参考价值。
字段 time 类型datetime
我只想让它显示时间的hh,mm,ss该如何操作?
其中的“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中如何获得时间的时,分,秒部分?的主要内容,如果未能解决你的问题,请参考以下文章