Sql server SQL转换字符串
我确实在为这些转换而挣扎,所以我很抱歉,我在过去也问过类似的问题,但就是不知道如何实现这一点 因此,当前正在将50.00的值导出为以下格式-Sql server SQL转换字符串,sql-server,tsql,Sql Server,Tsql,我确实在为这些转换而挣扎,所以我很抱歉,我在过去也问过类似的问题,但就是不知道如何实现这一点 因此,当前正在将50.00的值导出为以下格式- 000000000000050000 如果值为25.99,则如下所示 000000000000025990 这是一个18个字符的字段,其中任何前导字符都用零填充 我要做的是将其转换为一个19个字符的字符串-仍然是前导零-但是50或25.99的值略有不同- 00000000000050000变成0000000000005000 0000000000000
000000000000050000
如果值为25.99,则如下所示
000000000000025990
这是一个18个字符的字段,其中任何前导字符都用零填充
我要做的是将其转换为一个19个字符的字符串-仍然是前导零-但是50或25.99的值略有不同-
00000000000050000
变成0000000000005000
000000000000025990
变成0000000000002599
任何帮助都将不胜感激。您似乎需要:
select '00' + left(str, 17)
这是一种非常奇怪的格式。也许你应该考虑使用<代码>数字< /代码> /<代码>十进制< /代码>,它可以准确地表示数字。 很多假设进入这个答案,但是…
SELECT '00'+LEFT(OriginalField, 17)
这将截断您原来的第18个字符,并在前面再加两个零
如果您可能需要对第17个字符进行四舍五入,那么解决方案就不那么简单了。搜索T-SQL
子字符串
函数18个字符的转换是如何完成的?下面给出的答案完美地将字符串转换为您想要的。记住将包含新数字的字段改为nvarchar(19)alter TABLE tablename alter COLUMN somecolumn nvarchar(19)