Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL转换字符串_Sql Server_Tsql - Fatal编程技术网

Sql server SQL转换字符串

Sql server SQL转换字符串,sql-server,tsql,Sql Server,Tsql,我确实在为这些转换而挣扎,所以我很抱歉,我在过去也问过类似的问题,但就是不知道如何实现这一点 因此,当前正在将50.00的值导出为以下格式- 000000000000050000 如果值为25.99,则如下所示 000000000000025990 这是一个18个字符的字段,其中任何前导字符都用零填充 我要做的是将其转换为一个19个字符的字符串-仍然是前导零-但是50或25.99的值略有不同- 00000000000050000变成0000000000005000 0000000000000

我确实在为这些转换而挣扎,所以我很抱歉,我在过去也问过类似的问题,但就是不知道如何实现这一点

因此,当前正在将50.00的值导出为以下格式-

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)