我有一个字段是varchar(8)
,认为我从转换后的日期值float
到varchar
.
有些记录有八个字符,有些有七个字符.我想通过在具有7的那些中添加前导零来使它们具有相同的长度.
8 char示例:12162003
7个例子:5072004(需要一个前导零)
查询:
select birthdate_new from table_name
Lukasz Szozd.. 11
你可以使用RIGHT
:
SELECT RIGHT('00000000' + birthdate_new, 8) AS birthdate_new FROM table_name;
LiveDemo
如果你想UPDATE
现场使用:
UPDATE table_name SET birthdate_new = RIGHT('00000000' + birthdate_new, 8) WHERE LEN(birthdate_new) < 8;
dfundako.. 8
一个适用于更多情况的函数将是REPLICATE.它将值X的次数连接到字符串.
SELECT REPLICATE('0', 8-LEN(birthdate_new)) + birthdate_new AS 8_len_birthdate
这将花费您的出生日期的长度,从8减去它,然后在前面放置许多前导0,使其成为8个字符.
你可以使用RIGHT
:
SELECT RIGHT('00000000' + birthdate_new, 8) AS birthdate_new FROM table_name;
LiveDemo
如果你想UPDATE
现场使用:
UPDATE table_name SET birthdate_new = RIGHT('00000000' + birthdate_new, 8) WHERE LEN(birthdate_new) < 8;
一个适用于更多情况的函数将是REPLICATE.它将值X的次数连接到字符串.
SELECT REPLICATE('0', 8-LEN(birthdate_new)) + birthdate_new AS 8_len_birthdate
这将花费您的出生日期的长度,从8减去它,然后在前面放置许多前导0,使其成为8个字符.