月度归档:2019年08月

mssql sqlserver使用身份证号码返回出生日期及年龄的方法分享


摘要:
下文讲述sqlserver中使用身份证号码计算出“出生日期”及“年龄”的方法分享,如下所示:
实验环境:sql server 2008 R2



实现思路:
根据身份证号码的生成规律,将身份证号码的第七位开始的后八位字符进行截取,然后依次截取出
出生的年份、月份、天信息。

declare @birthDate varchar(30)

declare @age       int
declare @cardNo    varchar(60)

set @cardNo ='69012319830819087'

set @birthDate = substring(@cardNo,7,8) 
set @age = datediff(YEAR,convert(datetime,@birthDate),getdate())

select @birthDate as [出生日期],
       @age  as [年龄]

mssql_sqlserver_身份证号获取年龄_9582

mssql_sqlserver_身份证号获取年龄_9582


相关阅读:
sqlserver”出生年月日”获取年龄的方法分享

mssql sqlserver 获取sql脚本历史执行记录的方法分享


摘要:
下文讲述获取sqlserver运行sql脚本历史记录的方法分享,如下所示:
实验环境:sql server 2008 R2


  SELECT TOP 1000  
QS.creation_time as [创建时间], 
SUBSTRING(ST.text,(QS.statement_start_offset/2)+1, 
((CASE QS.statement_end_offset WHEN -1 THEN DATALENGTH(st.text) 
ELSE QS.statement_end_offset END - QS.statement_start_offset)/2) + 1 
) AS [sql脚本],  
ST.text as [执行计划], 
QS.total_worker_time, 
QS.last_worker_time, 
QS.max_worker_time, 
QS.min_worker_time 
FROM 
sys.dm_exec_query_stats QS 
CROSS APPLY 
sys.dm_exec_sql_text(QS.sql_handle) ST 
ORDER BY 
QS.creation_time DESC 

MSSQL sqlserver使用sql脚本获取两个日期之间的“月数、天数、周数”的方法分享


摘要:
下文讲述sqlserver中获取两个日期之间的 月数、天数、周数的方法分享


实现思路:
通过向datediff中输入不同的参数,达到返回两个日期之间的月数、周数、天数

    --参数定义
    declare @date1 varchar(20)
    declare @date2 varchar(20)
 
    set @date1 ='2019-1-1'
    set @date2 ='2019-8-31'
    
     --获取两个日期之间的月数
    select DATEDIFF(MM,@date1,@date2)
     --获取两个日期之间的周数
    select DATEDIFF(WW,@date1,@date2)
     --获取两个日期之间的天数
    select DATEDIFF(DD,@date1,@date2)