Maison base de données tutoriel mysql MySQL全角转换为半角_MySQL

MySQL全角转换为半角_MySQL

Jun 01, 2016 pm 01:04 PM
demi-largeur


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



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)
----------------------------------------------------------------------------------------------------------------

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La différence entre pleine largeur et demi-largeur La différence entre pleine largeur et demi-largeur Jan 05, 2024 pm 04:27 PM

La différence entre pleine largeur et demi-largeur : 1. L'espace occupé par les caractères ; 2. La représentation des caractères ; 3. Le statut de la méthode de saisie ; 4. La différence essentielle ; Introduction détaillée : 1. Espace d'occupation des caractères, les caractères pleine chasse occupent deux positions de caractère standard, tandis que les caractères demi-chasse occupent une position de caractère standard ; 2. La représentation des caractères, pleine chasse, fait référence à un caractère occupant deux positions de caractère standard, que ce soit est un caractère chinois ou d'autres types de caractères, et la demi-chasse signifie qu'un caractère occupe une position de caractère standard, généralement utilisée pour les lettres, chiffres, symboles anglais, etc.

Comprendre la pleine largeur et la demi-largeur : un aperçu des techniques de commutation Comprendre la pleine largeur et la demi-largeur : un aperçu des techniques de commutation Mar 25, 2024 pm 01:36 PM

Dans la vie quotidienne, nous rencontrons souvent le problème de la pleine largeur et de la demi-largeur, mais peu de gens peuvent avoir une compréhension profonde de leur signification et de leur différence. La pleine largeur et la demi-largeur sont en fait des concepts d'une méthode de codage de caractères et ont leurs propres applications spéciales en matière de saisie informatique, d'édition, de composition, etc. Cet article approfondira les différences entre pleine largeur et demi-largeur, les techniques de commutation et les applications réelles. Tout d'abord, les définitions de pleine chasse et de demi-chasse dans le domaine des caractères chinois sont les suivantes : un caractère pleine chasse occupe une position de caractère et un caractère demi-chasse occupe une demi-position de caractère. Dans un ordinateur, passez

Apprenez facilement à basculer entre la pleine largeur et la demi-largeur Apprenez facilement à basculer entre la pleine largeur et la demi-largeur Mar 25, 2024 pm 03:42 PM

Pleine largeur et demi-largeur font référence à deux états de saisie différents dans la méthode de saisie chinoise. Pleine largeur signifie que chaque caractère occupe une position de caractère pleine largeur, tandis que demi-largeur signifie que chaque caractère occupe une position de caractère demi-largeur. Lorsque vous utilisez un ordinateur pour saisir du chinois, vous devez parfois basculer entre pleine largeur et demi-largeur pour vous adapter aux différents scénarios de saisie. Ensuite, nous présenterons plusieurs méthodes de commutation pleine largeur et demi-largeur couramment utilisées, afin que tout le monde puisse facilement apprendre à basculer entre pleine largeur et demi-largeur dans la saisie chinoise. Méthode 1 : utilisez les touches de raccourci pour basculer entre la pleine largeur et la demi-largeur. Dans la plupart des logiciels de méthode de saisie chinoise, vous pouvez utiliser.

Quelle est la différence entre les méthodes de saisie pleine largeur et demi-largeur ? Quelle est la différence entre les méthodes de saisie pleine largeur et demi-largeur ? Feb 14, 2024 pm 02:00 PM

Lorsque nous utilisons la méthode de saisie chinoise pour taper, il existe deux manières : pleine largeur et demi-largeur. Parmi elles, il y a beaucoup d'amis qui ne connaissent pas la différence entre pleine largeur et demi-largeur. aux méthodes de saisie pleine largeur et demi-largeur. Faites la différence. N'importe quel signe de ponctuation peut être utilisé à mi-largeur et il n'y a aucune restriction particulière sur les espaces. Dans l'état pleine largeur, la fonction de la barre d'espace change. Après être passé à l'état pleine largeur et avoir appuyé sur la barre d'espace, nous constaterons que la distance entre les caractères devient grande, et cet écart est plus évident que dans l'état demi-largeur. De plus, l’affichage des lettres anglaises est également différent en pleine largeur. A l'état demi-largeur, les lettres anglaises tapées sont de taille normale. Cependant, une fois que nous passons en mode pleine largeur, nous constaterons que les lettres anglaises saisies deviennent grasses et agrandies. dans l'ensemble

Touches de raccourci pour basculer entre pleine largeur et demi-largeur dans Windows Touches de raccourci pour basculer entre pleine largeur et demi-largeur dans Windows Mar 04, 2024 pm 06:52 PM

Lorsque les utilisateurs utilisent habituellement des méthodes de saisie pour insérer du texte, ils peuvent remarquer des différences entre les lettres ou les symboles. Cela est principalement dû à la commutation différente entre les caractères demi-chasse et pleine chasse. Ici, nous allons vous présenter en détail comment réaliser rapidement la conversion entre pleine largeur et demi-largeur. Solution de touche de raccourci pour basculer entre pleine largeur et demi-largeur dans Windows : Alt+Shift Il s'agit de la touche la plus couramment utilisée pour basculer entre les modes de saisie pleine largeur et demi-largeur. Dans l'environnement de saisie chinois, appuyer sur cette touche passera en mode anglais, sinon il passera en mode chinois. Si plusieurs méthodes de saisie sont installées sur votre ordinateur, vous pouvez également utiliser cette touche pour basculer facilement entre les méthodes de saisie. Solution 2 : Ctrl+Shift fait également partie des touches de raccourci permettant de basculer entre pleine largeur et demi-largeur. Cette combinaison de touches est enfoncée en mode de saisie anglais

Explication détaillée des caractéristiques fonctionnelles des espaces pleine largeur et des espaces demi-largeur Explication détaillée des caractéristiques fonctionnelles des espaces pleine largeur et des espaces demi-largeur Mar 25, 2024 pm 07:21 PM

Les espaces pleine chasse et les espaces demi-chasse sont deux caractères d'espacement courants en chinois et en japonais. Ils ont des caractéristiques fonctionnelles différentes en termes de composition, d'édition de texte et de méthodes de saisie. Cet article expliquera en détail les caractéristiques et les scénarios d'application des espaces pleine largeur et des espaces demi-largeur, aidant les lecteurs à mieux comprendre et utiliser ces deux caractères spatiaux. Tout d’abord, comprenons les caractéristiques des espaces pleine largeur. Le codage des espaces pleine largeur en Unicode est U+3000. La largeur est la même que celle des caractères chinois ordinaires. Elle est généralement utilisée pour les espaces vides dans la composition chinoise. Les scénarios d'utilisation pour les espaces pleine largeur incluent mais

Maîtrisez rapidement les compétences nécessaires pour passer de la pleine largeur à la demi-largeur. Maîtrisez rapidement les compétences nécessaires pour passer de la pleine largeur à la demi-largeur. Mar 25, 2024 am 10:57 AM

À l’ère d’Internet moderne, nous saisissons et modifions souvent du texte sur des ordinateurs. Dans ce processus, nous rencontrons parfois le problème du basculement entre pleine largeur et demi-largeur. La pleine chasse et la demi-chasse font référence à la taille de la position occupée par les caractères. Les caractères pleine chasse occupent une largeur de caractère, tandis que les caractères demi-chasse occupent la moitié d'une largeur de caractère. L’utilisation correcte de la pleine largeur et de la demi-largeur est très importante pour garantir la mise en forme et l’uniformité du texte. Par conséquent, il est nécessaire de maîtriser les compétences de commutation pleine largeur et demi-largeur. Tout d’abord, comprenons les concepts de pleine largeur et de demi-largeur. Les caractères pleine chasse font généralement référence à

Comment basculer facilement entre les modes pleine largeur et demi-largeur dans la méthode de saisie Comment basculer facilement entre les modes pleine largeur et demi-largeur dans la méthode de saisie Mar 25, 2024 pm 10:00 PM

Titre : Comment basculer facilement entre les modes pleine largeur et demi-largeur dans les méthodes de saisie Lors de l'utilisation quotidienne d'ordinateurs, nous devons souvent basculer entre les modes pleine largeur et demi-largeur pour nous adapter aux différents scénarios et besoins de saisie. Le mode pleine largeur est généralement utilisé pour saisir des caractères chinois, des caractères anglais, des signes de ponctuation, des chiffres, etc., tandis que le mode demi-largeur est plus adapté à la saisie de l'anglais et des chiffres. Cependant, de nombreuses personnes peuvent être confuses lorsqu'elles utilisent les méthodes de saisie et ne savent pas comment basculer facilement entre la pleine largeur et la demi-largeur. Cet article présentera quelques méthodes simples pour vous aider à basculer facilement entre les méthodes de saisie pleine largeur et demi-largeur.

See all articles