/* 转换为
100-5 0100-00005
1-998 0001-00998
12-1589 0012-01589
*/
IF EXISTS(SELECT * FROM sys.objects WHERE name='Fun_CombineTransfer')
DROP FUNCTION dbo.Fun_CombineTransfer
GO
CREATE FUNCTION Fun_CombineTransfer(@aaa NVARCHAR(20))
RETURNS NVARCHAR(20)
AS
BEGIN
DECLARE @sReturn NVARCHAR(20)=''
DECLARE @ForwardNum INT
DECLARE @AfferNum INT
DECLARE @ForwardChar NVARCHAR(20)=''
DECLARE @AfferChar NVARCHAR(20)=''
SET @ForwardNum=(SELECT CHARINDEX('-',@aaa)-1)
SET @ForwardChar=( CASE @ForwardNum WHEN 1 THEN '000'WHEN 2 THEN '00'WHEN 3 THEN '0'WHEN 4 THEN ''END)
SET @AfferNum=(SELECT CHARINDEX('-',REVERSE(@aaa))-1)
SET @AfferChar=(CASE @AfferNum WHEN 1 THEN '0000'WHEN 2 THEN '000'WHEN 3 THEN '00'WHEN 4 THEN '0'END)
SET @sReturn=@ForwardChar+(SELECT SUBSTRING(@aaa,1,CHARINDEX('-',@aaa)))+@AfferChar+
(SELECT REVERSE(SUBSTRING(REVERSE(@aaa),1,(CHARINDEX('-',REVERSE(@aaa))-1))))
RETURN @sReturn
END

第二种方式

UPDATE #temp SET aaa=RIGHT('000'+SUBSTRING(aaa,1,CHARINDEX('-',aaa)-1),4)+'-'+
RIGHT('0000'+SUBSTRING(aaa,CHARINDEX('-',aaa)+1,LEN(aaa)),5)

sql习题--转换(LEFT/RIGTH)的更多相关文章

  1. 完善SQL农历转换函数

    -------------------------------------------------------------------- --  Author : 原著:          改编:ht ...

  2. SQL 语句转换格式函数Cast、Convert 区别

    SQL 语句转换格式函数Cast.Convert CAST和CONVERT都经常被使用.特别提取出来作为一篇文章,方便查找. CAST.CONVERT都可以执行数据类型转换.在大部分情况下,两者执行同 ...

  3. SQL零星技术点:SQL中转换money类型数值转换为字符串问题

    --SQL中转换money类型数值转换为字符串问题,直接转换就转为两位了,所以需要做一下处理.具体请看下述sql实例. 1 create table #test(price money) insert ...

  4. hibernate sql查询转换成VO返回list

    hibernate sql查询转换成VO @Override public List<FenxiVo> getTuanDuiFenxiList(FenxiVo FenxiVo,Intege ...

  5. sql习题及答案

    sql习题:http://www.cnblogs.com/wupeiqi/articles/5729934.html 习题答案参考:https://www.cnblogs.com/wupeiqi/ar ...

  6. SQL行列转换6种方法

    在进行报表开发时,很多时候会遇到行列转换操作,很对开发人员针对于SQL级别行列转换操作一直不甚理解,今天正好抽空对其进行了一些简单的总结.这里主要列举3种可以实现SQL行列转换的方法,包括通用SQL解 ...

  7. 数据库如何从SQL server转换到SQLite

    我之前用的是SQL server数据库,但是客户那里觉得安装这个大的数据库比较卡,说是导致蓝屏了,硬往SQL server上赖,没有办法客户是上帝么,给他换个小点的数据库吧!考虑Access,不行这个 ...

  8. atitit。mssql sql server 转换mysql 及 分页sql ast的搭建

    atitit.mssql sql server 转换mysql  及 分页sql ast的搭建 1. 主要的的转换::函数的转换,分页的转换 1 2. 思路::mssql sql >>as ...

  9. 数据透视表sql:用SQL行列转换实现数据透视的一些思考

    用SQL行列转换实现数据透视的一些思考 摘要:根据对报表开发过程中碰到的需要用SQL行列转换进行解决的一类查询统计问题的分析,逐步探索求解得到一种较通用的解决思路,并用函数进行实现.该解决思路及函数实 ...

随机推荐

  1. 棋盘覆盖问题python3实现

    在2^k*2^k个方格组成的棋盘中,有一个方格被占用,用下图的4种L型骨牌覆盖全部棋盘上的其余全部方格,不能重叠. 代码例如以下: def chess(tr,tc,pr,pc,size): globa ...

  2. Stop being a perfectionist

    节选自 7 Things You Need To Stop Doing To Be More Productive, Backed By Science “We found that perfecti ...

  3. Windows版Redis如何使用?(单机)

    使用Windows版Redis 1.下载Windows版本的Redis 2.在redis目录里创建redis.conf ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...

  4. 004.JMS消息结构

    JMS的消息结构类似于HTTP请求的结构分为三部分: 消息头 消息属性 消息体 下面分别说明三部分的内容标准. 1. 消息头 消息头包含消息的识别信息和路由信息,其标准属性如下: 下面介绍的参数都可以 ...

  5. MySQL存储过程和自定义函数、Navicat for mysql、创建存储过程和函数、调用存储过程和函数的区别

    1 MySQL存储过程和函数 过程和函数,它们被编译后保存在数据库中,称为持久性存储模块(Persistent Stored Module,PSM),可以反复调用,运行速度快. 1.1 存储过程 存储 ...

  6. HCF4094(CD4094)应用

    管脚说明和内部逻辑图 注:管脚图为HCF4094,内部逻辑图为CD4094(HCF4094内部逻辑图在datasheet不清晰,且复杂). 其中控制管脚有3个:STROBE-DATA-CLOCK,Ou ...

  7. 3ds Max制作一面飘扬的旗帜效果图

    在大家平时建模过程中肯定会遇到很多力学作用的模型,它们有很多的不确定性,通过人工拖拽的手段很难达到理想的自然效果,这时我们就需要一些特殊的命令来完成我们模拟自然状态的效果.下面我们就一面飘扬的国旗来探 ...

  8. 简洁的MVC思想框架——Nancy(Session的使用)

    前文提到关于Nancy中GET和POST以及外部引用图片,css和JS的文件等操作.今天所讲的是Nancy关于Session相关操作. Session作为web开发中极其重要的一部分,而Nancy中S ...

  9. UNIX系统高级编程——第五章-标准I/O库-总结

    基础: 标准I/O库在ANSI C中定义,可移植在不同的系统 文件指针(FILE):标准I/O库操作的不是文件描述符,而是流.FILE文件指针包含的是维护流所需的信息 通过函数fileno获取流的文件 ...

  10. 一个 VUE 组件:实现子元素 scroll 父元素容器不跟随滚动(兼容PC、移动端)

    介绍 我们经常遇到一种情况.当滑动滚动条区域时,子元素滚动条到底部或顶部时就会触发父级滚动条,父级滚动条同理会继续向上触发,直至body容器.这是浏览器默认的滚动行为. 但是很多情况,我们想要子元素滚 ...