sql Rensa uppkundfilförutskickav e-post och SMS

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql Rensa uppkundfilförutskickav e-post och SMS相关的知识,希望对你有一定的参考价值。

/* Gör alla fält till VARCHAR med NULL default ''*/

/* Töm alla värden med 0 */
UPDATE Alla SET TEL1 = '' WHERE TEL1 = 0;
UPDATE Alla SET TEL2 = '' WHERE TEL2 = 0;
UPDATE Alla SET TEL3 = '' WHERE TEL3 = 0;
UPDATE Alla SET AGE = '' WHERE AGE = 0;

/* Ta bort alla värden som har år som ålder */
UPDATE Alla SET AGE = '' WHERE AGE = 2017;

/* Ta bort alla utan ålder */
DELETE FROM `Alla` WHERE AGE = '';

/* Gör om AGE till INT för sorteringens skull */

/* Ta bort alla nummer som inte är mobilnummer */
UPDATE Alla SET TEL1 = '' WHERE TEl1 NOT LIKE '7%'
UPDATE Alla SET TEL2 = '' WHERE TEl2 NOT LIKE '7%'
UPDATE Alla SET TEL3 = '' WHERE TEl3 NOT LIKE '7%'

/* Flytta telefonnummer från TEL 2 till TEL 1 om TEL 1 är tom och TEL 2 inte är det */
UPDATE Alla SET TEL1 = TEL2 WHERE TEL1 = '' AND TEL2 != ''

/* Töm TEL2 efter flytt */
UPDATE Alla SET TEL2 = '' WHERE TEL1 = TEL2;

/* Flytta telefonnummer från TEL 3 till TEL 1 om TEL 1 är tom och TEL 3 inte är det */
UPDATE Alla SET TEL1 = TEL3 WHERE TEL1 = '' AND TEL3 != '';

/* Töm TEL3 efter flytt */
UPDATE Alla SET TEL3 = '' WHERE TEL1 = TEL3;

/* Ta bort TEL3 */
ALTER TABLE Alla DROP COLUMN TEL3;

/* Ta bort alla felaktiga mobilnummer */
UPDATE Alla SET TEL1 = '' WHERE length(TEL1) < 10;
UPDATE Alla SET TEL2 = '' WHERE length(TEL2) < 10;

/* Visa alla utan varken e-post eller mobilnummer */
SELECT * FROM Alla WHERE EPOST = '' AND TEL1 = '' AND TEL2 = '';

/* Ta bort alla utan varken e-post eller mobilnummer */
DELETE FROM Alla WHERE EPOST = '' AND TEL1 = '' AND TEL2 = '';

/* Lägg till 0 i telefonnummer */
UPDATE Alla SET `TEL1`=LPAD(`TEL1`, 10, '0') WHERE TEl1 != '';
UPDATE Alla SET `TEL2`=LPAD(`TEL2`, 10, '0') WHERE TEl2 != '';

/* Kopiera alla kunder som har en e-postadress men ej ett mobilnummer till en ny tabell */
CREATE TABLE EndastEpost AS SELECT * FROM Alla WHERE EPOST != '' AND TEL1 = '' AND TEL2 = '';

/* Kopiera alla kunder som har ett minst mobilnummer men ej en e-postdress till en ny tabell */
CREATE TABLE EndastMobil AS SELECT * FROM Alla WHERE EPOST='';

/* Kopiera alla kunder som har både en e-postdress och minst ett mobilnummer till en ny tabell */
CREATE TABLE EpostMobil AS SELECT * FROM Alla WHERE EPOST!='' AND TEL1 !='' OR EPOST !='' AND TEL2 !='';

/* Reset ID för att få nummerordningen tillbaka */
ALTER TABLE `Alla` DROP `id`;
ALTER TABLE `Alla` ADD `id` INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`);

/* Skapa ny kolumn i tabellen för e-post för Dynamic Sender */
ALTER TABLE EndastEpost ADD DynamicSender VARCHAR(100);

/* Skapa ny kolumn i tabellen för e-post för Dynamic Address */
ALTER TABLE EndastEpost ADD DynamicAddress VARCHAR(100);

/* Skapa ny kolumn i tabellen för e-post och mobil för Dynamic Sender */
ALTER TABLE EpostMobil ADD DynamicSender VARCHAR(100);

/* Skapa ny kolumn i tabellen för e-post och mobil för Dynamic Address */
ALTER TABLE EpostMobil ADD DynamicAddress VARCHAR(100);

/* Lägg till DynamicAddress för respektive titel i tabellen EndastEpost */
UPDATE EndastEpost SET DynamicAddress = 'bohuslaningen', DynamicSender = 'Bohusläningen' WHERE TITELKOD = 'BN';
UPDATE EndastEpost SET DynamicAddress = 'stnb', DynamicSender ='Strömstads Tidning' WHERE TITELKOD = 'ST';
UPDATE EndastEpost SET DynamicAddress = 'gp', DynamicSender ='Göteborgs-Posten' WHERE TITELKOD = 'GP';
UPDATE EndastEpost SET DynamicAddress = 'ttela', DynamicSender ='TTELA' WHERE TITELKOD = 'TT';
UPDATE EndastEpost SET DynamicAddress = 'hn', DynamicSender ='Hallands Nyheter' WHERE TITELKOD = 'HN';
UPDATE EndastEpost SET DynamicAddress = 'hallandsposten', DynamicSender ='Hallandsposten' WHERE TITELKOD = 'HP';

/* Lägg till DynamicAddress för respektive titel i tabellen EpostMobil */
UPDATE EpostMobil SET DynamicAddress = 'bohuslaningen', DynamicSender = 'Bohusläningen' WHERE TITELKOD = 'BN';
UPDATE EpostMobil SET DynamicAddress = 'stnb', DynamicSender ='Strömstads Tidning' WHERE TITELKOD = 'ST';
UPDATE EpostMobil SET DynamicAddress = 'gp', DynamicSender ='Göteborgs-Posten' WHERE TITELKOD = 'GP';
UPDATE EpostMobil SET DynamicAddress = 'ttela', DynamicSender ='TTELA' WHERE TITELKOD = 'TT';
UPDATE EpostMobil SET DynamicAddress = 'hn', DynamicSender ='Hallands Nyheter' WHERE TITELKOD = 'HN';
UPDATE EpostMobil SET DynamicAddress = 'hallandsposten', DynamicSender ='Hallandsposten' WHERE TITELKOD = 'HP';

/* Visa alla över 20 och under 75 år */
SELECT * FROM Alla WHERE AGE > 20 AND AGE < 75 ORDER BY AGE DESC;

以上是关于sql Rensa uppkundfilförutskickav e-post och SMS的主要内容,如果未能解决你的问题,请参考以下文章

用于计算过去 24 个月及以上总和的 SQL

sql查询24小时内的数据

访问 sql 查询以连接行

在 sql 中获取 24K 记录和内容的最佳方法

SQL Server ,按 24 小时时段拆分持续时间行

24日SQL 练习前