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 格式化