资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

sqlserver补0,sqlserver位数不足补0

SQL SERVER自动在前面补0满足10位请问怎么写?

咱们来看:

员工经过长期磨合与沉淀,具备了协作精神,得以通过团队的力量开发出优质的产品。创新互联建站坚持“专注、创新、易用”的产品理念,因为“专注所以专业、创新互联网站所以易用所以简单”。公司专注于为企业提供做网站、成都网站制作、微信公众号开发、电商网站开发,微信小程序定制开发,软件定制网站等一站式互联网企业服务。

cast('000000000'+convert(int,code)as varchar(20))

首先:

convert(int,code) :你把code 转为 int

然后

'000000000'+convert(int,code)我估计sqlserver肯定把表达式作为数字相加了,那么0000...的相加就没有作用了。

最后

就不是你要的结果了。

大致应该这样:

SELECT 

right(cast('000000000'+rtrim(code) as varchar(20)),10),code,

id,pydate,isnull(lzdate,'9999-12-31'),0 

FROM zlemployee

SQL不够10位 补0 补到10位写何写

咱们来看:

cast('000000000'+convert(int,code)as varchar(20))

首先:

convert(int,code) :你把code 转为 int

然后

'000000000'+convert(int,code)我估计sqlserver肯定把表达式作为数字相加了,那么0000...的相加就没有作用了。

最后

就不是你要的结果了。

大致应该这样:

SELECT 

right(cast('000000000'+rtrim(code) as varchar(20)),10),code,

id,pydate,isnull(lzdate,'9999-12-31'),0 

FROM zlemployee

SQL怎样在固定值后面补0

具体什么数据库?

以sqlserver,mysql,oracle各自为例:

sqlserver:

create table test

(点名 varchar(20));

insert into test values ('HS901');

insert into test values ('HS9010');

insert into test values ('HS9010');

执行:

select LEFT(点名+'00000000',8) from test

结果:

mysql:创建表插入数据过程都差不多,不赘述,执行:

create table test

(点名 varchar(20));

insert into test values ('HS901');

insert into test values ('HS9010');

insert into test values ('HS9010');

结果:

oracle:执行:

select rpad(点名,8,'0') from test

结果:

sql 不够七位数 在左侧自动补零,怎么实现

您好:

跟您一个参考资料

第一种方法:

right('00000'+cast(@count as varchar),5)

其中'00000'的个数为right函数的最后参数,例如这里是5,所以有5个0

@count就是被格式化的正整数

例如:

1、select right('00000'+cast(dense_rank() over( order by zsbh ) as VARCHAR(20)),5)

2、declare @count int

set @count = 0

while (@count  1000)

begin

print right('00000'+cast(@count as varchar),5)

set @count = @count +1

end

第二种方法:使用REPLICATE函数,将字串值重复指定的次数。例如:

REPLICATE('重复',3)输出结果为:重复重复重复

【 值得注意的是当 integer_expression 值为负值,则返回NULL 】

因此,补0操作可如下实现:

SELECT REPLICATE('0',5-len('9'))+'9' --左边补0, 如 00009

SELECT '9' + REPLICATE('0',5-len('9')) --右边补0,如 90000

第三种方法:使用stuff函数,删除指定长度的字符,并在指定的起点处插入另一组字符。例如:

第一个字符串 abcdef 中删除从第 2 个位置(字符 b)开始的三个字符,然后在删除的起始位置插入第二个字符串,从而创建并返回一个字符串。

SELECT STUFF('abcdef', 2, 3, 'ijklmn')

输出结果为:

aijklmnef。

因此补0操作可如下实现:

select stuff('00000',len('00000')-len('123')+1,len('123'),'123')


分享标题:sqlserver补0,sqlserver位数不足补0
标题URL:http://cdkjz.cn/article/dsccige.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220