在项目过程中,需要判断用户的生日,只能取月日格式(MMdd),由于sqlserver没有这种格式,所以写了一个自定义的函数。
可能会有其他的解决方法,但是本人是第一次使用sqlserver,对此也不了解。所以能想到的就是写个自定义函数了。
if object_id('getMonthAndDay') is not null drop function getMonthAndDay go create function getMonthAndDay(@dt datetime) returns varchar(4) as begin DECLARE @now VARCHAR(8) set @now = CONVERT(varchar(12), @dt, 112) set @now = substring(@now,5,8) return @now end go
使用:
1.
select dbo.getMonthAndDay('2010-04-06 16:52:04.093');
返回结果
0406
2.
select dbo.getMonthAndDay(MANAGER_BIRTHDAY) from RM_CUST;