Voici un exemple:
aaa 3
4 Réponses :
Vous pouvez utiliser ou utiliser: p> commander par code> et limiter les résultats à une ligne:
Bonjour @gordonlinoff, cela entraînera d'abord une erreur car la pièce de décalage manque d'une ligne de mots clés, puis il devrait être décalé 0 rangées car cela retournera aa | 2 code>. Acclamations!
Qu'est-ce que tu sais? Le décalée 0 Fetch 1 première ligne seulement; code> clause fonctionne sur Oracle. Merci.
@Vboka. . . Chaque fois que j'utilise extraire code> dans SQL Server, j'ai un blocage en raison de l'exigence de la clause code> offset code>. Merci.
Bonjour @gordonlinoff, vous êtes les bienvenus. Ces choses se passent.
Hi @ user1683793 Je ne suis pas sûr que je te suive ... J'ai essayé sans les lignes de mots-clés à Oracle et sans chance: dbfiddle.uk/...
@Vboka ça marche sur mon oracle 12.2 mais pas sur mon oracle 11.2. Comme 11.2 est la production et 12.2 est quelque chose que j'ai testé seul, je ne pense pas que je vais utiliser cette construction à tout moment.
Vous pouvez essayer le top comme indiqué ci-dessous. Voici la documentation officielle de TOP (Transact-SQL) .
Select
top 1 Id, description, len(description) as MaxLength
from YourTable order by len(description) desc
Bonjour @surajkumar, l'OP recherche la longueur et non l'ID. Vérifiez à nouveau les paroles de données ...
@Vboka j'ai ajouté que aussi.
La combinaison de ce deux retournera le résultat souhaité, car le jeu de résultats est commandé par LEN (DEC). P>
select descr as Description, len(descr) "Description length"
from test
order by len(descr) desc
OFFSET 0 ROWS
fetch first 1 rows only;
Bonjour @nihaleshama, bienvenue dans le débordement de la pile. J'espère que cela vous aidera et vous aidera à vérifier ceci: Stackoverflow.com/help/someone-answers :) Bravo!
Cela fera ce que vous voulez sur Oracle (l'une des balises sur la question): garder à l'esprit que s'il y a deux (ou plus) enregistrements avec cette longueur, vous va tous les obtenir. Vous pouvez ajouter un Si vous voulez le premier enregistrement de ceux qui ont le plus long champ, Une sous-requête sera requise: p> Il y a aussi le et rownum mais qui vous donnera la sélection de la base de données qui choisit de donner. P> offset 0 robinet ... code> version répertoriée précédemment: p> SQL> select descript, length(descript)
2 from t
3 order by length(descript) desc
4 offset 0 row fetch first 1 row only;
DESCRIPT LENGTH(DESCRIPT)
-------------------- ----------------
defg 4
Hi @ user1683793 dans SQL Server Il est len code> pas longueur code>. Acclamations!
Bonjour @ user1683793 Désolé, n'était pas conscient qu'au début de la question, il y avait une étiquette Oracle. Acclamations!