SQL在字符之间插入记录

时间:2013-07-26 18:11:10

标签: sql sql-server

我想问一些问题,我正在制作一个包含表格记录的Excel。

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

客户希望数据为12345-0000

所以在我的select语句中,每列的第5位,应该有一个短划线

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

我正在使用SQL Server数据库。

谢谢:)

2 个答案:

答案 0 :(得分:0)

SELECT STUFF('12345000',6,7,'-0000');

答案 1 :(得分: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