求一段SQL代码

smneo 2009-02-09 10:49:53
问题描述:
1.
表Table中有一字段a(字符型),要实现检测全表中的a字段,去除字段a中两边和中间的空格.

2.
表Table中有一字段b(字符型),要实现检测全表中的b字段是否长度为10位,没有没有10位,前面全部补充字符'0'.


需要实现上述两个功能,请大家给一段实现的代码!谢谢
...全文
131 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
smneo 2009-02-09
  • 打赏
  • 举报
回复
结贴,感谢大家热情帮助!
dawugui 2009-02-09
  • 打赏
  • 举报
回复
[Quote=引用楼主 smneo 的帖子:]
问题描述:
1.
表Table中有一字段a(字符型),要实现检测全表中的a字段,去除字段a中两边和中间的空格.

2.
表Table中有一字段b(字符型),要实现检测全表中的b字段是否长度为10位,没有没有10位,前面全部补充字符'0'.


需要实现上述两个功能,请大家给一段实现的代码!谢谢
[/Quote]
1.

select rtrim(ltrim(replace(a , ' ' , ''))) from [table]

2.
select right('00000000' + b , 10) from [table] where len(b) <= 10
select left(b + '00000000', 10) from [table] where len(b) <= 10

pt1314917 2009-02-09
  • 打赏
  • 举报
回复
[Quote=引用楼主 smneo 的帖子:]
问题描述:
1.
表Table中有一字段a(字符型),要实现检测全表中的a字段,去除字段a中两边和中间的空格.

2.
表Table中有一字段b(字符型),要实现检测全表中的b字段是否长度为10位,没有没有10位,前面全部补充字符'0'.


需要实现上述两个功能,请大家给一段实现的代码!谢谢
[/Quote]

--

--1、
update [table] set a=replace(a,' ','')
--2、
update [table] set b=right('0000000000'+b,10)
fwacky 2009-02-09
  • 打赏
  • 举报
回复


drop table smneo
create table smneo
(
id int,
a varchar(10),
b varchar(10)
)
delete from smneo
insert into smneo
select '1','aaaa','1' union all
select '2',' bbbb','22'union all
select '3','cccc ','333'union all
select '4','dd dd','4444'union all
select '5',' ee ee ','5555'

select id, replace(a,' ', '') from smneo
select id, REPLICATE('0', 10 - DATALENGTH(b)) + b from smneo

============================
id, a
1 aaaa
2 bbbb
3 cccc
4 dddd
5 eeee

===========================
id, b
1 0000000001
2 0000000022
3 0000000333
4 0000004444
5 0000005555
conan19771130 2009-02-09
  • 打赏
  • 举报
回复
可以结了
jfjy_0 2009-02-09
  • 打赏
  • 举报
回复
来晚了 学习
liayin 2009-02-09
  • 打赏
  • 举报
回复
楼上正解,使用系统函数...
水族杰纶 2009-02-09
  • 打赏
  • 举报
回复
IF OBJECT_ID('TB')IS NOT NULL DROP TABLE TB
GO
CREATE TABLE TB(a VARCHAR(10),b varchar(10))
insert tb select ' ad asd ','12'
insert tb select 'adad sd ','ab'
--1
update tb set a=replace(a,' ','')
--2
update tb set b=right('0000000000'+b,10)
select * from tb
/*a b
---------- ----------
adasd 0000000012
adadsd 00000000ab*/
水族杰纶 2009-02-09
  • 打赏
  • 举报
回复
---2
update tb set b=right('0000000000'+b,10)
水族杰纶 2009-02-09
  • 打赏
  • 举报
回复
--1
update tb set a=replace(a,' ','')
--2

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧