在多个位置sql将char插入字符串

luk*_*emh 7 sql sql-server-2005

我如何转换会计GL号码

99999999999999999

999-99999-99-9999.999

在对MSSQL服务器2005的查询中

我不需要更新数据,只需在查询时转换STRING.

表:GLM_MASTER__ACOUNT字段:帐户

谢谢.

etl*_*ens 13

使用STUFF()的另一种方法

DECLARE @a varchar(64)
SET @a = '99999999999999999'
SELECT  STUFF(STUFF(STUFF(STUFF(@a, 4, 0, '-'), 10, 0, '-'), 13, 0, '-'), 18, 0, '.')
Run Code Online (Sandbox Code Playgroud)


Tom*_*m H 8

您需要使用SUBSTRING:

SELECT
    SUBSTRING(account, 1, 3) + '-' +
    SUBSTRING(account, 4, 5) + '-' +
    SUBSTRING(account, 9, 2) + '-' +
    SUBSTRING(account, 11, 4) + '.' +
    SUBSTRING(account, 15, 3)
Run Code Online (Sandbox Code Playgroud)