/* 转换为
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. the process android.process.acore has stopped或the process com.phone。。。。

    模拟器一启动 The process android.process.acore has stopped unexpectedly 今天不知道怎么回事,模拟器一启动就狂报错, 模拟器已经重新安装过了, ...

  2. nyoj--1087--摆方格(规律)

    摆方格 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 给你一个n*n的方格,每个方格里的数必须连续摆放如 1 2 4 3 ,下图为不连续的,请输出从左上角到右下角的对角 ...

  3. pjlib深入剖析和使用详解

    1. PJSIP简介 PJSIP的实现是为了能在嵌入式设备上高效实现SIP/VOIP.其主要特征包括:    1).极具移植性.(Extremely portable)                 ...

  4. Dapper优秀资料

    dapper extensions (predicates) https://www.cnblogs.com/starluck/p/4542370.html

  5. FCC高级编程之Inventory Update

    Inventory Update Compare and update the inventory stored in a 2D array against a second 2D array of ...

  6. CentOS-1810系统DHCP服务器ISC DHCP软件配置说明

    DHCP 全称Dynamic Host configuration protocol, 动态主机配置协议.是一个局域网的网络协议,使用UDP协议工作,它可以为客户机自动分配IP地址.子网掩码以及缺省网 ...

  7. Springboot错误问题总结

    进行springboot+swagger2测试的时候,启动项目发现出现这个问题 把所有的类,配置类都注释掉,不管用,百度搜索之后发现一个解决办法, 半信半疑的加到启动类SpringBootApplic ...

  8. PKU 2184 Cow Exhibition 01背包

    题意: 有一些牛,每头牛有一个Si值,一个Fi值,选出一些牛,使得max( sum(Si+Fi) ) 并且 sum(Si)>=0, sum(Fi)>=0 思路: 随便选一维做容量(比如Fi ...

  9. 【转载】Failed to load class "org.slf4j.impl.StaticLoggerBinder".问题解决

    在进行hibernate配置好后运行测试类的时候出现: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder" ...

  10. 2015 Multi-University Training Contest 2 Buildings

    Buildings Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total ...