bonjour à tous
j'aimerais dans une requète tester si le contenu d'une chaine est en
majuscule ou en minuscule
avez vous une idée de la syntaxe à utiliser
merci pour votre aide
mic
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gilles TOURREAU
mic vient de nous annoncer :
bonjour à tous j'aimerais dans une requète tester si le contenu d'une chaine est en majuscule ou en minuscule avez vous une idée de la syntaxe à utiliser merci pour votre aide mic
Si tu veux toutes les rubriques qui sont en majusucules : SELECT * FROM MaTable WHERE Rubrique = UPPER(Rubrique)
Réciproquement en minusucules !
Cordialement
-- Gilles TOURREAU Responsable Informatique
Société P.O.S Spécialiste en motoculture depuis + de 30 ans ! http://www.pos.fr
mic vient de nous annoncer :
bonjour à tous
j'aimerais dans une requète tester si le contenu d'une chaine est en
majuscule ou en minuscule
avez vous une idée de la syntaxe à utiliser
merci pour votre aide
mic
Si tu veux toutes les rubriques qui sont en majusucules :
SELECT * FROM MaTable WHERE Rubrique = UPPER(Rubrique)
bonjour à tous j'aimerais dans une requète tester si le contenu d'une chaine est en majuscule ou en minuscule avez vous une idée de la syntaxe à utiliser merci pour votre aide mic
Si tu veux toutes les rubriques qui sont en majusucules : SELECT * FROM MaTable WHERE Rubrique = UPPER(Rubrique)
Réciproquement en minusucules !
Cordialement
-- Gilles TOURREAU Responsable Informatique
Société P.O.S Spécialiste en motoculture depuis + de 30 ans ! http://www.pos.fr
Rudi Bruchez
Gilles TOURREAU a écrit:
Si tu veux toutes les rubriques qui sont en majusucules : SELECT * FROM MaTable WHERE Rubrique = UPPER(Rubrique)
Bonjour,
Malheureusement non. Si la colonne est en collation Case Insensitive (c'est très souvent le cas), cette comparaison renverra toujours vrai.
Il faut utiliser une collation explicitement :
-- ---- code start -- pour voir la collation de la base courante SELECT DATABASEPROPERTYEX(DB_NAME(), 'collation')
DECLARE @str1 varchar(30), @str2 varchar(30) SET @str1 = 'salut' SET @str2 = 'SALUT'
IF @str1 = UPPER(@str2) PRINT 'ah bon ?'
-- par contre : IF @str1 COLLATE Latin1_General_CS_AI = UPPER(@str2) PRINT 'ah bon ?' ELSE PRINT 'Voilà !' -- ---- code end
bonjour à tous j'aimerais dans une requète tester si le contenu d'une chaine est en majuscule ou en minuscule avez vous une idée de la syntaxe à utiliser merci pour votre aide mic
C'est tout à fait possible et très simple en jouant sur les collations à l'aide de la clause COLLATE :
SELECT ... FROM ... WHERE Macolonne = UPPER(Macolonne) COLLATE French_CS_AI
Si macolonne est en majuscule sera pris en compte.
Pour savoir si c'est maj ou min :
SELECT CASE WHEN Macolonne = UPPER(Macolonne) COLLATE French_CS_AI THEN 'MAJ' WHEN Macolonne = LOWER(Macolonne) COLLATE French_CS_AI THEN 'min' WHEN Macolonne IS NULL THEN NULL ELSE 'mixte' END FROM ...
Lisez l'article que j'ai écrit sur les collations : http://sqlpro.developpez.com/cours/sqlserver/collations/
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
Bonjour,
mic a écrit :
bonjour à tous
j'aimerais dans une requète tester si le contenu d'une chaine est en
majuscule ou en minuscule
avez vous une idée de la syntaxe à utiliser
merci pour votre aide
mic
C'est tout à fait possible et très simple en jouant sur les collations à
l'aide de la clause COLLATE :
SELECT ...
FROM ...
WHERE Macolonne = UPPER(Macolonne) COLLATE French_CS_AI
Si macolonne est en majuscule sera pris en compte.
Pour savoir si c'est maj ou min :
SELECT CASE
WHEN Macolonne = UPPER(Macolonne) COLLATE French_CS_AI THEN 'MAJ'
WHEN Macolonne = LOWER(Macolonne) COLLATE French_CS_AI THEN 'min'
WHEN Macolonne IS NULL THEN NULL
ELSE 'mixte'
END
FROM ...
Lisez l'article que j'ai écrit sur les collations :
http://sqlpro.developpez.com/cours/sqlserver/collations/
A +
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
bonjour à tous j'aimerais dans une requète tester si le contenu d'une chaine est en majuscule ou en minuscule avez vous une idée de la syntaxe à utiliser merci pour votre aide mic
C'est tout à fait possible et très simple en jouant sur les collations à l'aide de la clause COLLATE :
SELECT ... FROM ... WHERE Macolonne = UPPER(Macolonne) COLLATE French_CS_AI
Si macolonne est en majuscule sera pris en compte.
Pour savoir si c'est maj ou min :
SELECT CASE WHEN Macolonne = UPPER(Macolonne) COLLATE French_CS_AI THEN 'MAJ' WHEN Macolonne = LOWER(Macolonne) COLLATE French_CS_AI THEN 'min' WHEN Macolonne IS NULL THEN NULL ELSE 'mixte' END FROM ...
Lisez l'article que j'ai écrit sur les collations : http://sqlpro.developpez.com/cours/sqlserver/collations/
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
mic
merci à tous pour votre aide ça fonctionne
"Fred BROUARD" a écrit :
Bonjour,
mic a écrit : > bonjour à tous > j'aimerais dans une requète tester si le contenu d'une chaine est en > majuscule ou en minuscule > avez vous une idée de la syntaxe à utiliser > merci pour votre aide > mic
C'est tout à fait possible et très simple en jouant sur les collations à l'aide de la clause COLLATE :
SELECT ... FROM ... WHERE Macolonne = UPPER(Macolonne) COLLATE French_CS_AI
Si macolonne est en majuscule sera pris en compte.
Pour savoir si c'est maj ou min :
SELECT CASE WHEN Macolonne = UPPER(Macolonne) COLLATE French_CS_AI THEN 'MAJ' WHEN Macolonne = LOWER(Macolonne) COLLATE French_CS_AI THEN 'min' WHEN Macolonne IS NULL THEN NULL ELSE 'mixte' END FROM ...
Lisez l'article que j'ai écrit sur les collations : http://sqlpro.developpez.com/cours/sqlserver/collations/
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
merci à tous pour votre aide ça fonctionne
"Fred BROUARD" a écrit :
Bonjour,
mic a écrit :
> bonjour à tous
> j'aimerais dans une requète tester si le contenu d'une chaine est en
> majuscule ou en minuscule
> avez vous une idée de la syntaxe à utiliser
> merci pour votre aide
> mic
C'est tout à fait possible et très simple en jouant sur les collations à
l'aide de la clause COLLATE :
SELECT ...
FROM ...
WHERE Macolonne = UPPER(Macolonne) COLLATE French_CS_AI
Si macolonne est en majuscule sera pris en compte.
Pour savoir si c'est maj ou min :
SELECT CASE
WHEN Macolonne = UPPER(Macolonne) COLLATE French_CS_AI THEN 'MAJ'
WHEN Macolonne = LOWER(Macolonne) COLLATE French_CS_AI THEN 'min'
WHEN Macolonne IS NULL THEN NULL
ELSE 'mixte'
END
FROM ...
Lisez l'article que j'ai écrit sur les collations :
http://sqlpro.developpez.com/cours/sqlserver/collations/
A +
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
mic a écrit : > bonjour à tous > j'aimerais dans une requète tester si le contenu d'une chaine est en > majuscule ou en minuscule > avez vous une idée de la syntaxe à utiliser > merci pour votre aide > mic
C'est tout à fait possible et très simple en jouant sur les collations à l'aide de la clause COLLATE :
SELECT ... FROM ... WHERE Macolonne = UPPER(Macolonne) COLLATE French_CS_AI
Si macolonne est en majuscule sera pris en compte.
Pour savoir si c'est maj ou min :
SELECT CASE WHEN Macolonne = UPPER(Macolonne) COLLATE French_CS_AI THEN 'MAJ' WHEN Macolonne = LOWER(Macolonne) COLLATE French_CS_AI THEN 'min' WHEN Macolonne IS NULL THEN NULL ELSE 'mixte' END FROM ...
Lisez l'article que j'ai écrit sur les collations : http://sqlpro.developpez.com/cours/sqlserver/collations/
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************