FORMAT 是Sqlserver 2012 开始出现的函数。
最开始一直使用就是时间格式化。如下:
Select FORMAT(getdate(),'yyyy-MM-dd') -- 2020-09-10
今天有个问题是数字前补0,记得原来的写法要调用好多次函数才行,又懒得写,突然想到这个,来试了下。
Select FORMAT(1,'000000') -- 000001
果然靠谱。。
顺带写个函数,以后可以继续用
Create FUNCTION [dbo].[数字前格式化补零]
(
@Num int,
@Prefix NVARCHAR(100),
@Format NVARCHAR(100)
)
RETURNS VARCHAR(100)
AS
BEGIN
Declare @FORMAT_Num varchar(100)
Set @FORMAT_Num = @Prefix+(Select FORMAT(@Num,@Format))
RETURN @FORMAT_Num
END
调用了一个序列
Select [dbo].[数字前格式化补零]((Next Value For dbo.GetPortNo),'P','000000')
--P000054
更多推荐
sqlserver 的 FORMAT 格式化
发布评论