0

我想问一些事情,我正在生成一个包含表中记录的excel。

现在,我在前列中有记录。123450000

客户希望数据是12345-0000

所以在我的选择语句中,每列的第 5 列之间应该有一个破折号

如果记录只有5个字符,则不会放置“-”

我为此使用 SQL Server 数据库。

谢谢 :)

4

2 回答 2

0
SELECT STUFF('12345000',6,7,'-0000');
于 2013-07-26T18:23:24.747 回答
0

这个功能应该有帮助;

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
于 2013-07-26T19:19:40.793 回答