Sélectionnez MAX INT valeur de la colonne de TEXTE
UserID UserName Password
1 abc 123
10 xyz 456
3 mno 254
SELECT MAX(UserId) AS UserId FROM UserLogin
Lorsque j'exécute cette requête, il me donne 3 au lieu de 10
Toutes les colonnes sont de type de données TEXTE
Vous devez vous connecter pour publier un commentaire.
Votre requête est de retour
3
parce que c'est la plus grande valeur en tenant compte de l'ordre lexicographique (tout ce qui commence par3
est considéré comme plus grand que tout ce qui commence par1
, comme quelque chose en commençant parb
est plus grand que tout ce qui commence para
).Utiliser le
VAL
fonction pour convertir les colonnes de TEXTE en valeurs numériques:Si vous êtes inquiet au sujet de la performance, vous devriez faire de cette colonne numérique, cependant. Prendre en compte l'appel d'une fonction pour chaque ligne de la table. Aussi, il ne sera pas à l'aide de tous les indices de cette colonne peut avoir.
Assurez-vous que le type de colonne est numérique et non pas de type varchar ou chaîne.
Essayer de changer