Maison  >  Article  >  base de données  >  Quels sont les caractères d'échappement d'Oracle ?

Quels sont les caractères d'échappement d'Oracle ?

coldplay.xixi
coldplay.xixioriginal
2020-07-16 12:01:398929parcourir

Les caractères d'échappement Oracle incluent : 1. Un guillemet simple, qui peut citer une chaîne ou s'échapper ; 2. Un guillemet double, qui enveloppe les caractères de format illégal 3. et un symbole, qui relie deux échappements ; . Escape, spécifiez un symbole non spécial comme caractère d'échappement.

Quels sont les caractères d'échappement d'Oracle ?

les caractères d'échappement Oracle sont :

1, guillemet simple

Dans ORACLE, les guillemets simples ont deux fonctions : 1) citer des chaînes ; 2) s'échapper.

Lors de la citation d'une chaîne, les guillemets simples apparaissent par paires ; et l'échappement lui-même doit être un nombre pair, donc dans une instruction SQL, les guillemets simples doivent être par paires.

Select 'abc' a,'' b, '''' c, ' '' ' d From Dual;

Échappement complexe les chaînes peuvent être divisées à l’aide du connecteur || pour une compréhension facile. Les guillemets simples autour du symbole de connexion '||' n'ont aucune relation, sauf si '||' fait partie d'une chaîne (ce qui est très courant en SQL dynamique).

Select 'name' || '''''' a, 'name''''' b From Dual;
Output:name''  name''

2, guillemets doubles

1) De manière générale, les guillemets doubles dans les chaînes ne sont traités que comme des caractères ordinaires.

À l'heure actuelle, les guillemets doubles n'ont pas besoin d'apparaître par paires :

Select 'hh24"小时""mi""分"""ss"秒"' Results From Dual;
Output:hh24"小时""mi""分"""ss"秒"

2) Lorsqu'ils apparaissent dans la chaîne de format de to_char, les guillemets doubles ont un effet spécial, c'est-à-dire que illégal Les caractères de format sont enveloppés pour éviter l'erreur ORA-01821 : format de date non reconnu.

En d'autres termes, après avoir supprimé les guillemets doubles et les caractères qu'ils contiennent, ce qui reste devrait être une chaîne au format légal.

to_charLes guillemets doubles seront ignorés lors du traitement de la chaîne de format :

Select To_Char(Sysdate, 'hh24"小时"mi"分"ss"秒"') As "当前时间/时分秒"  From Dual;
Output:09小时05分08秒 --别名中也有此应用

La chaîne de format est 'hh24"hour"mi"minute"ss"second"';

Après avoir supprimé les guillemets doubles, il reste « hh24miss », qui est une chaîne au format légal.

Mais même si vous ne connaissez vraiment pas l'utilisation des guillemets doubles, vous pouvez toujours le gérer comme ceci, même si c'est un peu plus gênant :

Select To_Char(Sysdate, 'hh24') || '小时' || To_Char(Sysdate, 'mi') || '分' || To_Char(Sysdate, 'ss') || '秒' As Result From Dual;
Output:09小时05分08秒

3,& ( et symbole)

est utilisé pour identifier/définir des variables personnalisées et doit être suivi du nom de la variable si elle doit être utilisée comme caractère, vous devez utiliser Chr(38), ou connecter deux && (échapper lui-même)

Select Chr(38) a, 'Tom&&Jerry' b, 'Gun ''N Roses' c From Dual;
Output:&    Tom&Jerry    Gun 'N Roses

4, Escape (spécifier le caractère d'échappement)

Spécifier un symbole non spécial comme caractère d'échappement, principalement utilisé dans wildcard escape

Select Table_Name From User_Tables Where Table_Name Like 'TB=_%=_%' Escape '=';
Output:TB_STUDENT_SCORE--筛选以TB开头,中间有两个_的表名

Recommandations d'apprentissage associées : Tutoriel d'apprentissage de la base de données Oracle

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
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