今天完成任务之SQL中len的使用
上午就很辛苦的将算法写好,在自己的思路和流程下一个一个数据库都在我的手下形成了编码,其实上午根本没有忙什么都在想怎么搞了,下午才真正的将它给弄好,下面讲解下我自己听哈子。
首先。我们将原来的表请出来一个并且在里面添加一个字段,然后进行自动的编写代号。好下面来写具体的内容。
首先在我的思路里面有要在不同的情况下执行不同的方法,所以我真正的用到了len函数。
其实len函数也很简单,我是这么写的
也就是求出@item_clsno的变量的长度。
那么我们开始我们的具体的思路了,开始i先备份一张表
FROM dbo.table_zong
ORDER BY item_clsno
然后我们就在这个表上操作咯
SELECT [id],[item_clsno]
FROM dbo.table_zong1
open YOUBIAO
declare
@id bigint,
@item_clsno varchar(510)
fetch next from YOUBIAO
into @id,@item_clsno
if len(@item_clsno)=3
begin
update dbo.table_zong1
set item_subno=@item_clsno+'0'
where [id]=@id
end
else if len(@item_clsno)=2
begin
update dbo.table_zong1
set item_subno=@item_clsno+'00'
where [id]=@id
end
else if len(@item_clsno)=4
update dbo.table_zong1
set item_subno=@item_clsno
where [id]=@id
while @@fetch_status=0
begin
fetch next from YOUBIAO
into @id,@item_clsno
if len(@item_clsno)=3
begin
update dbo.table_zong1
set item_subno=@item_clsno+'0'
where [id]=@id
end
else if len(@item_clsno)=2
begin
update dbo.table_zong1
set item_subno=@item_clsno+'00'
where [id]=@id
end
else
begin
update dbo.table_zong1
set item_subno=@item_clsno
where [id]=@id
end
end
close YOUBIAO
然后再执行
这个语句。问刚才改好的数据添加编码
DECLARE YOUBIAO CURSOR FOR
SELECT [id],[item_subno]
FROM dbo.table_zong1
close YOUBIAO
open YOUBIAO
declare
@id bigint,
@item_subno varchar(510),
@bianliang int,
@item_subno2 varchar(510),
@bianliangvarchar varchar(510)
Fetch next from YOUBIAO
INTO @id,@item_subno
set @bianliang=1
set @item_subno2=@item_subno
set @bianliangvarchar='000'+cast(@bianliang as nvarchar(510))
UPDATE dbo.table_zong1
SET item_subno = @item_subno+@bianliangvarchar
WHERE [id]=@id
WHILE @@FETCH_STATUS=0
BEGIN
Fetch next from YOUBIAO
INTO @id,@item_subno
if @item_subno2=@item_subno
begin
set @bianliang=@bianliang+1
if len(@bianliang)=1
begin
set @bianliangvarchar='000'+cast(@bianliang as nvarchar(510))
UPDATE dbo.table_zong1
SET item_subno=@item_subno+@bianliangvarchar
WHERE [id]=@id
end
else if len(@bianliang)=2
begin
set @bianliangvarchar='00'+cast(@bianliang as nvarchar(510))
UPDATE dbo.table_zong1
SET item_subno=@item_subno+@bianliangvarchar
WHERE [id]=@id
end
else if len(@bianliang)=3
begin
set @bianliangvarchar='0'+cast(@bianliang as nvarchar(510))
UPDATE dbo.table_zong1
SET item_subno=@item_subno+@bianliangvarchar
WHERE [id]=@id
end
else
begin
set @bianliangvarchar=cast(@bianliang as nvarchar(510))
UPDATE dbo.table_zong1
SET item_subno=@item_subno+@bianliangvarchar
WHERE [id]=@id
end
end
else
begin
set @item_subno2=@item_subno
set @bianliang=1
set @bianliangvarchar='000'+cast(@bianliang as nvarchar(510))
UPDATE dbo.table_zong1
SET item_subno=@item_subno+@bianliangvarchar
WHERE [id]=@id
end
END
CLOSE YOUBIAO
这样编码就算是完成了。
到最后经理说我的编码有问题,原来是8位到13位的编码没有取价格最低的,没办法重新做了一下子,感觉还可以就是要了点时间,因为6万条数据所花的时间太长了。
转载于:https://www.cnblogs.com/itgmhujia/archive/2008/03/06/1093791.html
今天完成任务之SQL中len的使用相关推荐
- sql中len函数_在SQL中使用LEN(),ROUND()函数
sql中len函数 LEN() and ROUND() are scalar functions which return a single value, based in the input val ...
- 在SQL中使用PL/SQL函数存在的问题
-----------------------------Cryking原创------------------------------ -----------------------转载请注明出处, ...
- sql中join类型_SQL Join类型概述和教程
sql中join类型 This article will provide an overview of the SQL Join and cover all of the SQL join types ...
- sql中替换逗号为换行符_使用T-SQL将逗号或其他定界符转换为SQL Server中的表或列表
sql中替换逗号为换行符 Database developers often need to convert a comma-separated value or other delimited it ...
- 报表下拉框多选查询及一般在sql中添加查询条件
1.sql SELECT * FROM [销量] where 1=1 ${if(len(销售员1) == 2,"","and 销售员 in (" + 销售员1 ...
- sql中日期函数的用法
sql中日期函数的用法 <script src="http://blog.csdn.net/count.aspx?ID=1920773&Type=Rank" ty ...
- pandas中计算分位数的方法describe,quantile,以及sql中计算分位数的方法percentile_approx,percent_rank() over()
1.pandas中计算分位数的方法describe,quantile 准备一张表 def test():df = pd.DataFrame({'a':[1,2,3],'b':[4,5,6],'c':[ ...
- SQL Server Len() 函数
SQL Server Len() 函数简介: LEN() 函数用于输入字符串的字符数. LEN() 函数返回输入字符串的字符数,不包括尾随空格. 以下是LEN() 函数的语法: LEN(input_s ...
- 张同学的 SQL中对材料报价单的数据权限进行操作 (如列转行 行转列的处理) 学习一下....
SQL中对材料报价单的数据权限进行操作 (如列转行 行转列的处理) --可以直接放到查询分析器执行 --判断测试表TmpTCIQuote是否有存在 不存在则创建 if NOT exists (sele ...
最新文章
- 51CTO博客弹出框精彩博文记录【2013年第二季度】
- axios 一些用法总结
- Table of Contents - Tomcat
- Linux_CentOS-服务器搭建 六
- P5283-[十二省联考2019]异或粽子【可持久化Trie,堆】
- 【论文学习】Densely Connected Convolutional Networks 学习
- ASP.NET服务器控件对应的HTML标签
- 数组排列组合算法汇总
- 解决:Assign object to a variable before exporting as module default
- 设置Node.js脚本开机自启动
- Invalid arguments问题
- Python使用Faker库
- 教ai玩游戏_简单解释:DeepMind如何教AI玩视频游戏
- 计算机存储1pb等于多少kb,计算机容量PB_TB是什么单位?他们和KB_MB_GB是什关系?...
- 期货模拟盘有效果吗?
- 无法安装64位office,因为已有32位版本
- html如何使mp4成为背景,如何让MP4 video视频背景色变成透明?
- 基于Java毕业设计校园外卖系统Web端源码+系统+mysql+lw文档+部署软件
- SAP GUI 730 windows 免费下载
- 是辞驴找马好还是骑驴找马好哩?
热门文章
- WebSocket原理及使用场景(转载)
- Mongodb和redis书籍调研
- ImportError: cannot import name 'six'解决
- 李航书上隐马尔科夫模型案例的实验结果复现
- None用法+连接字符串优先使用join +用format而不是%+区别可变对象和不可变对象(list的深拷贝和浅拷贝)
- 商品表有哪些字段_面试中有哪些经典的数据库问题?
- python如何调用日期函数_当前时间等于另一个时间时如何使用函数:Python
- 小猿圈之python的输入和输出
- PPT幻灯片转换成word的软件
- 线上服务器登记的要点