SQL Server 对长度不足的字符串右侧补0

        因为在使用过程当中,发现有这个需求,而后了解了一下 SQL Server 的操做,故在这里作一个记录。express

咱们用到了 SQL Server 中的 RIGHT() 函数,RIGHT() 的函数表达式为:bash

RIGHT(character_expression,integer_expression)复制代码

其中,character_expression 表示字符串表达式,integer_expression 表示返回的指定长度。在这个咱们以 5 为长度限制,进行举例说明。函数

其中原始数据以下:spa


接下来咱们使用 RIGHT() 函数,对 sp_code 这个字段进行格式处理:3d

第一种写法:code

RIGHT('00000' + sp_code, 5)复制代码


第二种写法:cdn

RIGHT('00000' + CONVERT(VARCHAR, sp_code), 5)复制代码

说明:CONVERT() 为 SQL Server 中的把日期转换为新数据类型的通用函数。这里咱们使用blog

CONVERT(VARCHAR, sp_code)复制代码

的语法,是将 sp_code 转为字符类型。字符串


第三种写法:string

RIGHT('00000' + LTRIM(RTRIM(sp_code)), 5)复制代码

说明:LTRIM() 和 RTRIM() 是 SQL Server 中去除数据中的空格函数


第四种写法:

RIGHT('00000' + CASE(sp_code AS varchar), 5)复制代码



第五种写法:

RIGHT(replicate('0', 5) + sp_code, 5)复制代码

说明:REPLICATE() 为 SQL Server 中以指定的次数重复字符表达式的函数。



第六种写法:

RIGHT(100000 + sp_code, 5)复制代码



总结,写法有不少种,这里只列举其中集中。

相关文章
相关标签/搜索