|
|
1
85
试试这个:
它将得到5位数的结果,例如:00001,…,01234 |
|
|
2
46
你也可以使用 格式() 引入的功能 SQL Server 2012版 . http://technet.microsoft.com/library/hh213505.aspx
|
|
3
21
使用
输出:
|
|
|
4
13
不是为了突出这个问题,但是需要注意的是,您需要使用(n)varchar而不是(n)char数据类型。
上面的段,将不会产生来自SQL 2005的正确响应
上面的片段,将从sql 2005中产生所需的响应 varchar将动态地为您提供所需的前缀长度。 其中,作为定长数据类型,需要指定和调整长度。 |
|
|
5
5
我喜欢用
这给了我
|
|
|
6
4
数据类型“int”不能超过10位,另外“len()”函数对int起作用,因此在调用len()函数之前不需要将int转换为字符串。
最后,您没有考虑int的大小>要填充到的总位数(@intlen)的情况。
因此,更简洁/正确的解决方案是:
|
|
|
7
2
单线解决方案( 本身 )对于SQL Server 2008或更高版本:
乘
|
|
|
8
2
不是很优雅,但我添加了一个设置值,其前导零的数量与我想要转换的数字相同,并使用了正确的函数。 例子:
|
|
9
1
我找到一篇好文章 here :
|
|
|
10
1
顺便说一下,如果它是一个int列,那么它仍然不会保留0 只需在表示层中执行,或者如果您真的需要在 选择 |
|
|
11
1
有同样的问题,我就是这样解决的…古朴典雅。“4”是字符串的长度,不管传递的整数长度是多少,它都将填充0到“4”。
|
|
|
12
1
在我的例子中,我希望我的字段在10个字符的字段中有前导0(nvarchar(10))。 源文件不需要前导0就可以在另一个表中联接到。 这仅仅是由于在SQL Server 2008R2上: 设置字段=右(('0000000000'+[字段]),10) (无法使用format(),因为这是预sql2012) 对现有数据执行此操作。因此,这样1或987654321仍将用前导0填充所有10个空格。 由于新数据将被导入,然后通过Access数据库转储到表中,因此当从Access向SQL Server表追加任何新记录时,我可以使用格式([字段],“0000000000”)。 |
|
|
13
0
--如果没有“rtrim”,返回的值是
--如果没有“rtrim”,返回的值是
|
|
|
14
0
使用
哪里
或交替
这样做的目的是将期望值加到一个10的幂中,这个幂足够产生足够的前导零,然后切断前导1。
这种技术的优点是结果总是相同的长度,允许使用
|
|
|
15
0
我在mysql中的工作是:
例如:
希望这会有帮助。 最好的问候 |
|
|
16
-2
我在想,这对你有用吗?
|