我想问一些事情,我正在生成一个包含表中记录的excel。
现在,我在前列中有记录。123450000
客户希望数据是12345-0000
所以在我的选择语句中,每列的第 5 列之间应该有一个破折号
如果记录只有5个字符,则不会放置“-”
我为此使用 SQL Server 数据库。
谢谢 :)
我想问一些事情,我正在生成一个包含表中记录的excel。
现在,我在前列中有记录。123450000
客户希望数据是12345-0000
所以在我的选择语句中,每列的第 5 列之间应该有一个破折号
如果记录只有5个字符,则不会放置“-”
我为此使用 SQL Server 数据库。
谢谢 :)
SELECT STUFF('12345000',6,7,'-0000');
这个功能应该有帮助;
DELIMITER //
CREATE FUNCTION dashify(@indata VARCHAR(MAX)) RETURNS VARCHAR(MAX) AS
BEGIN
DECLARE @breakat INT = 5
WHILE @breakat < LEN(@indata)
BEGIN
SET @indata = STUFF(@indata, @breakat+1, 0, '-');
SET @breakat = @breakat + 6
END
RETURN @indata;
END;
//
SELECT dbo.dashify('12345678901234') //
> 12345-67890-1234