Heim Datenbank MySQL-Tutorial MySQL全角转换为半角_MySQL

MySQL全角转换为半角_MySQL

Jun 01, 2016 pm 01:04 PM
halbe Breite


?
序言:
用户注册时候,录入了全角手机号码,所以导致短信系统根据手机字段发送短信失败,现在问题来了,如何把全角手机号码变成半角手机号码?



1,手机号码全角转换成半角
先查询出来全角半角都存在的手机号码的数据
SELECT a.username ,COUNT(1) AS num
FROM(
SELECT REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(uu.user_name,'0','0'),'1','1'),'2','2'),'3','3'),'4','4') ,'5','5'),'6','6'),'7','7') ,'8','8'),'9','9') AS username
FROM UC_USER uu WHERE uu.`USER_NAME` IS NOT NULL
)a GROUP BY a.username HAVING (COUNT(1)>1)
;
得到如下重复记录:
("MB.134xx76802x" ,
"MB.136xx88105x" ,
"MB.152xx80801x" ,
"MB.157xx49518x" ,
"MB.186xx88282x" ,
"MB.189xx94855x" ); )


然后删除掉已经存在半角的全角手机号码记录,不然转换后会有重复的手机号码。
DELETE FROM `UC_USER`
WHERE MOBILE LIKE '%1%'
AND REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(user_name,'0','0'),'1','1'),'2','2'),'3','3'),'4','4') ,'5','5'),'6','6'),'7','7') ,'8','8'),'9','9')
IN("MB.134xx76802x" ,
"MB.136xx88105x" ,
"MB.152xx80801x" ,
"MB.157xx49518x" ,
"MB.186xx88282x" ,
"MB.189xx94855x" );


之后再修改全角手机号码为半角手机号码
UPDATE UC_USER uu
SET uu.`MOBILE`=REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(uu.`MOBILE`,'0','0'),'1','1'),'2','2'),'3','3'),'4','4') ,'5','5'),'6','6'),'7','7') ,'8','8'),'9','9'),
uu.`USER_NAME`=REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(uu.user_name,'0','0'),'1','1'),'2','2'),'3','3'),'4','4') ,'5','5'),'6','6'),'7','7') ,'8','8'),'9','9')
WHERE uu.`MOBILE` IS NOT NULL;


2,如何把所以的全角转换成半角
上面只是人为用比较笨拙的10个replace将全角转换成了半角,有没有一种通用的思路或者方法来实现呢?于是google了很多资料,写下如下的存储函数。
DELIMITER $$
USE csdn $$
CREATE FUNCTION `csdn`.`func_convert`(p_str VARCHAR(200),flag INT)
RETURNS VARCHAR(200)
BEGIN
DECLARE pat VARCHAR(8);
DECLARE step INT ;
DECLARE i INT ;
DECLARE spc INT;
DECLARE str VARCHAR(200);

SET str=p_str;
IF flag=0 THEN /**全角换算半角*/
SET pat= N'%[!-~]%' ;
SET step= -65248 ;
SET str = REPLACE(str,N' ',N' ');
ELSE /**半角换算全角*/
SET pat= N'%[!-~]%' ;
SET step= 65248 ;
SET str= REPLACE(str,N' ',N' ') ;
END IF;

SET i=LOCATE(pat,str) ;
loop1:WHILE i>0 DO
/**开始将全角转换成半角*/
SET str= REPLACE(str, SUBSTRING(str,i,1), CHAR(UNICODE(SUBSTRING(str,i,1))+step));
SET i=INSTR(str,pat) ;
END WHILE loop1;
RETURN(str)
END $$
DELIMITER ;



3,google出来的sqlserver中的全角半角转换函数。
DELIMITER $$


CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
FUNCTION `test`.`u_convert`(@str NVARCHAR(4000),@flag BIT )
RETURNS NVARCHAR
BEGIN
DECLARE @pat NVARCHAR(8);
DECLARE @step INTEGER;
DECLARE @i INTEGER;
DECLARE @spc INTEGER;
IF @flag=0
BEGIN
SELECT N'%[!-~]%' INTO @pat;
SELECT -65248 INTO @step;
SELECT REPLACE(@str,N' ',N' ') INTO @str;
END
ELSE
BEGIN
SELECT N'%[!-~]%' INTO @pat;
SELECT 65248 INTO @step;
SELECT REPLACE(@str,N' ',N' ') INTO @str;
END
SELECT patindex(@pat COLLATE LATIN1_GENERAL_BIN,@str) INTO @i;
WHILE @i>0 DO
SELECT REPLACE(@str, SUBSTRING(@str,@i,1), NCHAR(UNICODE(SUBSTRING(@str,@i,1))+@step)) INTO @str;
SELECT patindex(@pat COLLATE LATIN1_GENERAL_BIN,@str) INTO @i;
END WHILE
RETURN(@str)
END $$
DELIMITER ;


----------------------------------------------------------------------------------------------------------------

原博客地址: http://blog.itpub.net/26230597/viewspace-1316445/
原作者:黄杉 (mchdba)
----------------------------------------------------------------------------------------------------------------

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Der Unterschied zwischen voller und halber Breite Der Unterschied zwischen voller und halber Breite Jan 05, 2024 pm 04:27 PM

Der Unterschied zwischen voller Breite und halber Breite: 1. Der von Zeichen eingenommene Raum; 3. Der Status der Eingabemethode; 5. Die Verwendung von Systembefehlen; Ausführliche Einführung: 1. Zeichenbelegungsraum, Zeichen voller Breite belegen zwei Standardzeichenpositionen, während Zeichen halber Breite eine Standardzeichenposition einnehmen. 2. Zeichendarstellung, volle Breite bezieht sich auf ein Zeichen, das zwei Standardzeichenpositionen einnimmt ist ein chinesisches Zeichen oder andere Zeichentypen. Halbe Breite bedeutet, dass ein Zeichen eine Standardzeichenposition einnimmt, die normalerweise für englische Buchstaben, Zahlen, Symbole usw. verwendet wird.

Vollständige und halbe Breite verstehen: Ein Blick auf Umschalttechniken Vollständige und halbe Breite verstehen: Ein Blick auf Umschalttechniken Mar 25, 2024 pm 01:36 PM

Im täglichen Leben stoßen wir oft auf das Problem der Voll- und Halbbreite, aber nur wenige Menschen haben möglicherweise ein tiefes Verständnis für deren Bedeutung und Unterschied. Vollbreite und Halbbreite sind eigentlich Konzepte von Zeichenkodierungsmethoden und haben spezielle Anwendungen bei der Computereingabe, Bearbeitung, Schriftsatz usw. Dieser Artikel befasst sich mit den Unterschieden zwischen voller und halber Breite, Schalttechniken und realen Anwendungen. Zunächst einmal lauten die Definitionen von voller Breite und halber Breite im Bereich der chinesischen Schriftzeichen: Ein Zeichen voller Breite nimmt eine Zeichenposition ein, und ein Zeichen halber Breite nimmt eine halbe Zeichenposition ein. In einem Computer passieren

Lernen Sie ganz einfach, wie Sie zwischen voller und halber Breite wechseln Lernen Sie ganz einfach, wie Sie zwischen voller und halber Breite wechseln Mar 25, 2024 pm 03:42 PM

Volle Breite und halbe Breite beziehen sich auf zwei verschiedene Eingabezustände in der chinesischen Eingabemethode. Volle Breite bedeutet, dass jedes Zeichen eine Zeichenposition voller Breite einnimmt, während halbe Breite bedeutet, dass jedes Zeichen eine Zeichenposition halber Breite einnimmt. Wenn Sie einen Computer zur Eingabe von Chinesisch verwenden, müssen Sie manchmal zwischen voller und halber Breite wechseln, um sich an unterschiedliche Eingabeszenarien anzupassen. Als Nächstes stellen wir einige häufig verwendete Methoden zum Umschalten in voller Breite und halber Breite vor, damit jeder leicht lernen kann, wie man bei chinesischen Eingaben zwischen voller Breite und halber Breite wechselt. Methode 1: Verwenden Sie Tastenkombinationen, um zwischen voller und halber Breite zu wechseln. In den meisten chinesischen Eingabemethodenprogrammen können Sie diese verwenden

Was ist der Unterschied zwischen Eingabemethoden voller und halber Breite? Was ist der Unterschied zwischen Eingabemethoden voller und halber Breite? Feb 14, 2024 pm 02:00 PM

Wenn wir die chinesische Eingabemethode zum Tippen verwenden, gibt es zwei Möglichkeiten: Vollbreite und Halbbreite. Unter ihnen gibt es viele Freunde, die den Unterschied zwischen Vollbreite und Halbbreite nicht kennen Bei den Eingabemethoden voller und halber Breite machen Sie den Unterschied. Jedes Satzzeichen kann im Zustand halber Breite verwendet werden und es gibt keine besonderen Einschränkungen für Leerzeichen. Im Vollbildzustand ändert sich die Funktion der Leertaste. Nachdem wir in den Zustand voller Breite gewechselt und die Leertaste gedrückt haben, werden wir feststellen, dass der Abstand zwischen den Zeichen größer wird und diese Lücke deutlicher ist als im Zustand halber Breite. Darüber hinaus unterscheidet sich auch die Anzeige englischer Buchstaben im Vollbildzustand. Im Zustand halber Breite haben die getippten englischen Buchstaben die normale Größe. Sobald wir jedoch in den Vollbreitenmodus wechseln, werden wir feststellen, dass die eingegebenen englischen Buchstaben fett und vergrößert werden. im ganzen

Tastenkombinationen zum Umschalten zwischen voller und halber Breite in Fenstern Tastenkombinationen zum Umschalten zwischen voller und halber Breite in Fenstern Mar 04, 2024 pm 06:52 PM

Wenn Benutzer normalerweise Eingabemethoden zum Einfügen von Text verwenden, bemerken sie möglicherweise Unterschiede zwischen Buchstaben oder Symbolen. Dies ist hauptsächlich auf den unterschiedlichen Wechsel zwischen Zeichen halber und voller Breite zurückzuführen. Hier stellen wir Ihnen im Detail vor, wie Sie die Konvertierung zwischen voller Breite und halber Breite schnell realisieren können. Tastenkombinationslösung zum Wechseln zwischen voller und halber Breite in Fenstern: Alt+Umschalt Dies ist die am häufigsten verwendete Taste zum Wechseln zwischen Eingabemodus voller und halber Breite. In der chinesischen Eingabeumgebung wird durch Drücken dieser Taste in den englischen Modus gewechselt, andernfalls wird in den chinesischen Modus gewechselt. Wenn auf Ihrem Computer mehrere Eingabemethoden installiert sind, können Sie mit dieser Taste auch einfach zwischen den Eingabemethoden wechseln. Lösung 2: Strg+Umschalt gehört ebenfalls zu den Tastenkombinationen zum Wechseln zwischen voller und halber Breite. Diese Tastenkombination wird im englischen Eingabemodus gedrückt

Ausführliche Erläuterung der Funktionsmerkmale von Räumen voller Breite und halber Breite Ausführliche Erläuterung der Funktionsmerkmale von Räumen voller Breite und halber Breite Mar 25, 2024 pm 07:21 PM

Leerzeichen voller Breite und Leerzeichen halber Breite sind zwei gängige Leerzeichen im Chinesischen und Japanischen. Sie haben unterschiedliche funktionale Eigenschaften beim Satz, bei der Textbearbeitung und bei den Eingabemethoden. In diesem Artikel werden die Eigenschaften und Anwendungsszenarien von Leerzeichen voller Breite und Leerzeichen halber Breite ausführlich erläutert und den Lesern dabei geholfen, diese beiden Leerzeichen besser zu verstehen und zu verwenden. Lassen Sie uns zunächst die Eigenschaften von Leerzeichen voller Breite verstehen. Die Kodierung von Leerzeichen voller Breite in Unicode ist U+3000. Die Breite entspricht der von gewöhnlichen chinesischen Zeichen. Sie wird normalerweise für Leerzeichen im chinesischen Schriftsatz verwendet. Zu den Nutzungsszenarien für Leerzeichen in voller Breite gehören aber

Erlernen Sie schnell die Fähigkeit, zwischen voller und halber Breite zu wechseln Erlernen Sie schnell die Fähigkeit, zwischen voller und halber Breite zu wechseln Mar 25, 2024 am 10:57 AM

Im modernen Internetzeitalter geben wir Texte häufig am Computer ein und bearbeiten sie. Bei diesem Vorgang stoßen wir manchmal auf das Problem, zwischen voller und halber Breite zu wechseln. Vollbreite und halbe Breite beziehen sich auf die Größe der von Zeichen eingenommenen Position. Zeichen voller Breite nehmen eine Zeichenbreite ein, während Zeichen halber Breite eine halbe Zeichenbreite einnehmen. Die korrekte Verwendung von voller und halber Breite ist sehr wichtig, um die Formatierung und Einheitlichkeit des Textes sicherzustellen. Daher ist es notwendig, die Umschaltfähigkeiten in voller und halber Breite zu beherrschen. Lassen Sie uns zunächst die Konzepte voller Breite und halber Breite verstehen. Zeichen in voller Breite beziehen sich im Allgemeinen auf

So wechseln Sie in der Eingabemethode einfach zwischen den Modi voller und halber Breite So wechseln Sie in der Eingabemethode einfach zwischen den Modi voller und halber Breite Mar 25, 2024 pm 10:00 PM

Titel: So wechseln Sie bei Eingabemethoden ganz einfach zwischen den Modi voller und halber Breite. Bei der täglichen Verwendung von Computern müssen wir häufig zwischen den Modi voller und halber Breite wechseln, um uns an unterschiedliche Eingabeszenarien und -anforderungen anzupassen. Der Modus „Volle Breite“ wird im Allgemeinen zur Eingabe von chinesischen Zeichen, englischen Zeichen, Satzzeichen, Zahlen usw. verwendet, während der Modus „Halbe Breite“ besser für die Eingabe von Englisch und Zahlen geeignet ist. Viele Menschen sind jedoch möglicherweise verwirrt, wenn sie Eingabemethoden verwenden, und wissen nicht, wie sie einfach zwischen voller und halber Breite wechseln können. In diesem Artikel werden einige einfache Methoden vorgestellt, mit denen Sie problemlos zwischen Eingabemethoden voller und halber Breite wechseln können.

See all articles