我改变了单词字母(5和6个字母改变)和一些字母掩蔽。但是我接受错误更改字母,并且我不做掩蔽。
我的问题是:
SELECT
NAME,
CONCAT(SUBSTRING(NAME, 1, 4),
SUBSTRING (NAME, 6, 1),
SUBSTRING(NAME, 5, 1),
SUBSTRING(NAME, 7, LEN(NAME) -5))
FROM
INFORMATION
此错误为
传递给LEFT或SUBSTRING函数的长度参数无效。
我该怎么做呢?(SQL Server 2014。)
发布于 2018-08-05 16:25:04
您遇到的问题是将-5传递给列"NAME“的长度小于5,并且函数SUBSTRING
不能接受负值。但是,如果您希望避免总是可以将ABS
添加到表达式中,则需要验证它是否返回了您期望的结果:
SELECT
NAME,
CONCAT(SUBSTRING(NAME, 1, 4),
SUBSTRING(NAME, 6, 1),
SUBSTRING(NAME, 5, 1),
SUBSTRING(NAME, 7, ABS(LEN(NAME) -5)))
FROM
INFORMATION
https://stackoverflow.com/questions/51692315
复制相似问题