它很丑,但它应该可以工作。
CREATE FUNCTION udf_AddMissingZero
(
@val NVARCHAR(MAX)
)
RETURNS NVARCHAR(MAX)
AS
BEGIN
SELECT @val = @val + ' ',
@val = REPLACE(@val, ' 1/', ' 01/'),
@val = REPLACE(@val, ' 2/', ' 02/'),
@val = REPLACE(@val, ' 3/', ' 03/'),
@val = REPLACE(@val, ' 4/', ' 04/'),
@val = REPLACE(@val, ' 5/', ' 05/'),
@val = REPLACE(@val, ' 6/', ' 06/'),
@val = REPLACE(@val, ' 7/', ' 07/'),
@val = REPLACE(@val, ' 8/', ' 08/'),
@val = REPLACE(@val, ' 9/', ' 09/'),
@val = REPLACE(@val, ' 1-', ' 01-'),
@val = REPLACE(@val, ' 2-', ' 02-'),
@val = REPLACE(@val, ' 3-', ' 03-'),
@val = REPLACE(@val, ' 4-', ' 04-'),
@val = REPLACE(@val, ' 5-', ' 05-'),
@val = REPLACE(@val, ' 6-', ' 06-'),
@val = REPLACE(@val, ' 7-', ' 07-'),
@val = REPLACE(@val, ' 8-', ' 08-'),
@val = REPLACE(@val, ' 9-', ' 09-'),
@val = REPLACE(@val, '-1/', '-01/'),
@val = REPLACE(@val, '-2/', '-02/'),
@val = REPLACE(@val, '-3/', '-03/'),
@val = REPLACE(@val, '-4/', '-04/'),
@val = REPLACE(@val, '-5/', '-05/'),
@val = REPLACE(@val, '-6/', '-06/'),
@val = REPLACE(@val, '-7/', '-07/'),
@val = REPLACE(@val, '-8/', '-08/'),
@val = REPLACE(@val, '-9/', '-09/'),
@val = REPLACE(@val, '-1-', '-01-'),
@val = REPLACE(@val, '-2-', '-02-'),
@val = REPLACE(@val, '-3-', '-03-'),
@val = REPLACE(@val, '-4-', '-04-'),
@val = REPLACE(@val, '-5-', '-05-'),
@val = REPLACE(@val, '-6-', '-06-'),
@val = REPLACE(@val, '-7-', '-07-'),
@val = REPLACE(@val, '-8-', '-08-'),
@val = REPLACE(@val, '-9-', '-09-'),
@val = REPLACE(@val, '/1/', '/01/'),
@val = REPLACE(@val, '/2/', '/02/'),
@val = REPLACE(@val, '/3/', '/03/'),
@val = REPLACE(@val, '/4/', '/04/'),
@val = REPLACE(@val, '/5/', '/05/'),
@val = REPLACE(@val, '/6/', '/06/'),
@val = REPLACE(@val, '/7/', '/07/'),
@val = REPLACE(@val, '/8/', '/08/'),
@val = REPLACE(@val, '/9/', '/09/'),
@val = REPLACE(@val, '/1-', '/01-'),
@val = REPLACE(@val, '/2-', '/02-'),
@val = REPLACE(@val, '/3-', '/03-'),
@val = REPLACE(@val, '/4-', '/04-'),
@val = REPLACE(@val, '/5-', '/05-'),
@val = REPLACE(@val, '/6-', '/06-'),
@val = REPLACE(@val, '/7-', '/07-'),
@val = REPLACE(@val, '/8-', '/08-'),
@val = REPLACE(@val, '/9-', '/09-'),
@val = REPLACE(@val, '/1 ', '/01 '),
@val = REPLACE(@val, '/2 ', '/02 '),
@val = REPLACE(@val, '/3 ', '/03 '),
@val = REPLACE(@val, '/4 ', '/04 '),
@val = REPLACE(@val, '/5 ', '/05 '),
@val = REPLACE(@val, '/6 ', '/06 '),
@val = REPLACE(@val, '/7 ', '/07 '),
@val = REPLACE(@val, '/8 ', '/08 '),
@val = REPLACE(@val, '/9 ', '/09 ')
RETURN Rtrim(@val)
END
GO