参考:http://topic.csdn.net/u/20110305/17/885967de-1af4-4fb0-af95-b9a3f408a788.html?73823
对于这个非标准要求,也许日后维护与扩展会带来更多困难。如果一定要求这样,Insus.NET的做法,只好写一个函数,整个专案中,需要地方,调用这个自定义函数即可。
View Code
CREATE
FUNCTION
[
dbo
]
.
[
udf_GetMyDate
]
(
@Date DATETIME
)
RETURNS NVARCHAR ( 30 )
AS
BEGIN
IF @Date IS NULL
SET @Date = CURRENT_TIMESTAMP ;
DECLARE @ReturnValue NVARCHAR ( 30 )
SET @ReturnValue = ( CONVERT ( NVARCHAR ( 4 ), YEAR ( @Date )) + N ' - ' + CONVERT ( NVARCHAR ( 4 ), MONTH ( @Date )) + N ' - ' + CONVERT ( NVARCHAR ( 4 ), DAY ( @Date )))
RETURN @ReturnValue
END
(
@Date DATETIME
)
RETURNS NVARCHAR ( 30 )
AS
BEGIN
IF @Date IS NULL
SET @Date = CURRENT_TIMESTAMP ;
DECLARE @ReturnValue NVARCHAR ( 30 )
SET @ReturnValue = ( CONVERT ( NVARCHAR ( 4 ), YEAR ( @Date )) + N ' - ' + CONVERT ( NVARCHAR ( 4 ), MONTH ( @Date )) + N ' - ' + CONVERT ( NVARCHAR ( 4 ), DAY ( @Date )))
RETURN @ReturnValue
END
调用时:
SELECT
[
dbo
]
.
[
udf_GetMyDate
]
(
getdate
())
结果: