Je voudrais demander comment je peux obtenir ce chiffre de valeur la plus élevée dans la chaîne: p>
3 Réponses :
En supposant que vous souhaitez que le chiffre de valeur le plus élevé de la chaîne, alors la méthode la plus simple est probablement la force brute d'un big ESPOW CODE> Expression: select (case when col like '%9%' then 9
when col like '%8%' then 8
when col like '%7%' then 7
when col like '%6%' then 6
when col like '%5%' then 5
when col like '%4%' then 4
when col like '%3%' then 3
when col like '%2%' then 2
when col like '%1%' then 1
when col like '%0%' then 0
end)
Vous pouvez également utiliser Charindex:
select (case when CHARINDEX('9', stringvalue) > 0 then 9
when CHARINDEX('8', stringvalue) > 0 then 8
when CHARINDEX('7', stringvalue) > 0 then 7
when CHARINDEX('6', stringvalue) > 0 then 6
when CHARINDEX('5', stringvalue) > 0 then 5
when CHARINDEX('4', stringvalue) > 0 then 4
when CHARINDEX('3', stringvalue) > 0 then 3
when CHARINDEX('2', stringvalue) > 0 then 2
when CHARINDEX('1', stringvalue) > 0 then 1
when CHARINDEX('0', stringvalue) > 0 then 0
end)
Vous pouvez utiliser Master..spt_values pour atteindre ce retour:
DECLARE @STRING NVARCHAR(MAX)='012546987'; SELECT MAX(SUBSTRING(A.B, V.NUMBER+1, 1)) FROM (SELECT @STRING B) A JOIN MASTER..SPT_VALUES V ON V.NUMBER < LEN(A.B) WHERE V.TYPE = 'P'
Explique ce que tu veux dire, s'il te plait. Le
7 code> n'est tout simplement pas évident.Soyez bon de voir ce que vous avez essayé et où vous êtes coincé.
Je note que vous n'avez pas accepté de réponse sur vos précédentes questions - veuillez lire accepter une réponse comme c'est la façon dont les choses sont les choses devrait travailler sur ce site.
Désolé ça devrait être 8