Impossible de comparer ou de trier les données TEXT dans SQL Server
Lorsque vous travaillez avec SQL Server, vous pouvez rencontrer une erreur indiquant que text, ntext, et les types de données d'image ne peuvent pas être comparés ou triés, sauf lors de l'utilisation de IS NULL ou de l'opérateur LIKE. Cette erreur se produit généralement lorsque vous essayez de comparer ou de trier des données autres que des caractères, telles que des e-mails ou d'autres colonnes textuelles.
Pour résoudre ce problème, envisagez les options suivantes :
Convertir les données en VARCHAR :
Si vos données sont principalement basées sur des caractères, il est recommandé de modifier le type de données de la colonne e-mail en VARCHAR(100) ou NVARCHAR(100). Cela permettra une comparaison et un tri appropriés.
Transformer les données de manière explicite :
Si la modification du type de données n'est pas possible, vous pouvez convertir la colonne TEXT en VARCHAR ou NVARCHAR. au sein de la requête elle-même :
SELECT CAST(email AS NVARCHAR(100)) email, COUNT(CAST(email AS NVARCHAR(100))) AS NumOccurrences FROM Booking GROUP BY CAST(email AS NVARCHAR(100)) HAVING COUNT(CAST(email AS NVARCHAR(100))) > 1
Cette conversion explicite garantit que la colonne est traitée comme des données de caractères à des fins de comparaison et de tri à des fins.
Ressources supplémentaires :
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!