SQL 学习片段:

建立一个简单的联系数据表,

mobile_number char(11)、mobile_province nvarchar(50)、mobile_area nvarchar(200)、mobile_type nvarchar(50)

数据来自另一个数据表,用 sql 语句将原表数据“插入”到新表,插入中解决几个小问题:

mobile_number 数据来自源表中两个字段,需要 + 一下,但 + 了之后长度可能也不足 11 位;

mobile_province 和 mobile_area 来自源表中的一个字段,以1个空格分隔,前面部分作为province后面作为area;

执行语句如下:

USE mobile_test
DELETE FROM mobile_phone_distribute
go INSERT INTO mobile_phone_distribute (mobile_number,mobile_province,mobile_area,mobile_type)
SELECT Dm_Mobile.MobileNumber+Dm_Mobile.AreaCode,SUBSTRING(Dm_Mobile.MobileArea,0,CHARINDEX(' ',dm_mobile.MobileArea)),SUBSTRING(DM_MOBILE.MobileArea,CHARINDEX(' ',dm_mobile.MobileArea)+1,LEN(dm_mobile.mobilearea)-CHARINDEX(' ',dm_mobile.MobileArea)),DM_MOBILE.MobileType
FROM Dm_Mobile
SELECT * FROM mobile_phone_distribute
SELECT * FROM mobile_phone_distribute WHERE LEN(mobile_number)<11
GO

将源表数据加工插入新表

解决新表中 mobile_number 字段不足 11 位,后面填充'X',执行语句如下:

UPDATE mobile_phone_distribute
--SET mobile_number = SUBSTRING(CONCAT(mobile_number,'XXXXXX'),0,11)
SET mobile_number=LEFT(rtrim(mobile_number)+cast('XXXXXXXXX' as varchar(20)),11)
WHERE LEN(mobile_number)<11
SELECT * FROM mobile_phone_distribute
GO

不足11位补齐X

SQL 随手记的更多相关文章

  1. SQL随手记

    数据库改名 想要达到的效果,类似于将一个文件[复制粘贴重命名]. 0.首先得断开连接,复制一份备份.然后再连接上,进行下面的操作. 1.在树形上,选中要改名的数据库,右键重命名. 2.还是它,右键,属 ...

  2. SQL Server 2016 CTP2.2 安装手记

    SQL Server 2016 CTP2.2 安装手记 下载一个iso文件,解压出来(大约2.8G左右),在该路径下双击Setup.exe即可开始安装. 安装之前请先安装.NET 3.5 SP1,在服 ...

  3. 【手记】小心在where中使用NEWID()的大坑 【手记】解决启动SQL Server Management Studio 17时报Cannot find one of more components...的问题 【C#】组件分享:FormDragger窗体拖拽器 【手记】注意BinaryWriter写string的小坑——会在string前加上长度前缀length-prefixed

    [手记]小心在where中使用NEWID()的大坑 这个表达式: ABS(CHECKSUM(NEWID())) % 3 --把GUID弄成正整数,然后取模 是随机返回0.1.2这三个数,不可能返回其它 ...

  4. 【SQL】SQL2012离线帮助文档安装不上的处理手记

    注:解决方法在最后,心急的童鞋可以直接往下滚动. 我SQL实例装的是2008 R2版,由于该版自带的SSMS(Microsoft SQL Server Management Studio 管理工具)存 ...

  5. 实战手记:让百万级数据瞬间导入SQL Server

    想必每个DBA都喜欢挑战数据导入时间,用时越短工作效率越高,也充分的能够证明自己的实力.实际工作中有时候需要把大量数据导入数据库,然后用于各种程序计算,本文将向大家推荐一个挑战4秒极限让百万级数据瞬间 ...

  6. Git.Framework 框架随手记--SQL配置文件的使用

    前面几篇文章讲到了如何使用框架进行简单结构的增删改查操作,由于个人能力有限在对于复杂的SQL操作面前也是无能为力,只能自己动手来写SQL语句.在Git.Framework中提供了一个公共的接口来直接操 ...

  7. 【转 】实战手记:让百万级数据瞬间导入SQL Server

    想必每个DBA都喜欢挑战数据导入时间,用时越短工作效率越高,也充分的能够证明自己的实力.实际工作中有时候需要把大量数据导入数据库,然后用于各种程序计算,本文将向大家推荐一个挑战4秒极限让百万级数据瞬间 ...

  8. 【学亮IT手记】PL/SQL游标编程

    游标提供了一种从表中检索数据并进行操作的灵活手段,主要用在服务器上,处理由客户端发送给服务器端的sql语句,或者是批处理.存储过程.触发器中的数据处理请求. 显式游标 是由用户声明和操作的一种游标,通 ...

  9. 【手记】sql报“聚合或其他set操作消除了null值”处理

    这个警告在常规场景中没什么影响,但如果是用excel跑SQL,它会因为该警告阻止你的后续操作~事实上excel执行sql限制多多,需要更多的奇技淫巧,之前我就写过一篇.言归正传,要解决这个警告,一种当 ...

随机推荐

  1. ROS indigo Ubuntu14.04 安装问题

    错误信息:Unpacking ros-indigo-desktop-full (1.1.6-0trusty-20181006-135515-0800) ... Errors were encounte ...

  2. c语言数组初始化 蛋疼

    一个一般性的结论 int a[100]={N}//N是一个大于等于0的整数 以上代码只会把a[0]初始化为N,其它内存单元都会被初始化为0 int a[100]={5} 这行代码它只会把a[0]初始化 ...

  3. Django----Rest Framework框架

    Django Rest Framework框架(10) - RESTful规范 1.API与用户的通信协议,总是使用HTTPs协议. 2.域名 https://api.example.com 尽量将A ...

  4. Django框架 之 查询 Extra

    Django框架 之 查询 Extra extra 1 2 extra(select=None, where=None, params=None,       tables=None, order_b ...

  5. Python的split()函数

    手册中关于split()用法如下: str.split(sep=None, maxsplit=-1)     Return a list of the words in the string, usi ...

  6. php二维数组修改键名

    最近遇到一个问题,是关于json数据提交的时候,总是报出[object object]的错误,查了晚上需要资料,大部分的说法是json数据格式不规范导致的错误.一般建议说将dataType类型注释掉. ...

  7. HDU 3729 I'm Telling the Truth (二分匹配)

    题意:给定 n 个人成绩排名区间,然后问你最多有多少人成绩是真实的. 析:真是没想到二分匹配,....后来看到,一下子就明白了,原来是水题,二分匹配,只要把每个人和他对应的区间连起来就好,跑一次二分匹 ...

  8. XE改变图标颜色

    放一个image,load 一张png/..图片 再放一个FillRGBEffect, 将此控价拖到image下 改变FillRGBEffect的Color,就改变了image图标上的颜色. 原图为黑 ...

  9. android 优秀图表库之MPAndroidChart

    MPAndroidChart 1.在项目当中很多时候要对数据进行分析就要用到图表,在gitHub上有很多优秀的图表开源库,这里就简单介绍一下MPAndroidChart. 他可以实现图表的拖动,3D, ...

  10. DataType--时间类型

    SQL SERVER 存储时间的方式和存放浮点数的方式类似,存放时按照一定公式算出一个数值,存放到页面,在读取时按照公式求算出时间值,再按照默认或指定的时间格式展示给用户. 如果存放DATETIME数 ...