je remarquai que je peux écrireEst-ce que varchar (max) = varchar?
SELECT CAST(Min(mynumber) AS VARCHAR(Max))+'mystring' AS X
comme
SELECT CAST(Min(mynumber) AS VARCHAR)+'mystring' X
Est-ce que je regrette de quitter le paramètre (Max)?
je remarquai que je peux écrireEst-ce que varchar (max) = varchar?
SELECT CAST(Min(mynumber) AS VARCHAR(Max))+'mystring' AS X
comme
SELECT CAST(Min(mynumber) AS VARCHAR)+'mystring' X
Est-ce que je regrette de quitter le paramètre (Max)?
Quand est pas spécifié la longueur d'un varchar dans une déclaration de déclaration définition de données ou variable, la longueur par défaut est 1. Lorsqu'il est pas spécifié lors de l'utilisation du CAST et CONVERT fonctions, la longueur par défaut est 30.
Voir : char and varchar (Transact-SQL)
Je pense que c'est une mauvaise pratique de coder sans spécifier une longueur pour varchar.
Vous le regretterez pas dans le (peu probable) que la situation MAX(mynumber)
a plus de 30 caractères:
When n is not specified when using the
CAST
andCONVERT
functions, the default length is 30.
Toujours une bonne idée de définir le nombre de caractères dans une situation où vous lancez. Ou si vous définissez une variable (où la valeur par défaut est 1 pour varchar). Cela devrait juste être une seconde nature. – HLGEM
VARCHAR (MAX) doit être utilisé pour les grandes Objects.It utilise le datapages normales jusqu'à ce que le contenu remplisse réellement 8k de données. Lorsque le dépassement se produit, les données sont stockées en tant que TEXT, IMAGE et un pointeur remplace l'ancien contenu. Varchar est pour les données de caractères de longueur variable et non-Unicode. n peut être une valeur comprise entre 1 et 8 000. Max indique que la taille de stockage maximale est de 2^31-1 octets. J'espère que ça aide.
Oui et varchar (Max) ne devrait jamais être utilisé pour les champs qui s'attendent à des données plus petites car il a des problèmes d'indexation. – HLGEM
En général, vous ne devriez pas utiliser varchar (max). Il devrait être utilisé rarement et seulement si vous attendez plus que les 8000 caractères qu'un varchar régulier peut contenir. Définissez varchars avec le nombre de caractères que vous pensez qu'ils devraient contenir. – HLGEM