una longitud len largo extraer especificos ejemplos contar consulta caracteres caracter cadena buscar sql sql-server-2008 datalength

longitud - len sql server ejemplos



contar el nĂºmero de caracteres en la columna nvarchar (6)

¿Alguien sabe una buena manera de contar los caracteres en una columna de texto (nvarchar) en el servidor SQL? Los valores allí pueden ser texto, símbolos y / o números.

Hasta ahora he usado sum(datalength(column))/2 pero esto solo funciona para texto. (Es un método basado en la longitud de datos y puede variar de un tipo a otro).


¿No funciona SELECT LEN(column_name) ?


El texto no funciona con la función len.

Los tipos de datos ntext, text e image se eliminarán en una versión futura de Microsoft SQL Server. Evite utilizar estos tipos de datos en nuevos trabajos de desarrollo y planee modificar las aplicaciones que los utilizan actualmente. Use nvarchar (max), varchar (max) y varbinary (max) en su lugar. Para obtener más información, consulte Uso de tipos de datos de gran valor.

Source


Puede encontrar el número de caracteres utilizando la función del sistema LEN . es decir

SELECT LEN(Column) FROM TABLE


Recientemente tuve un problema similar, y esto es lo que hice:

SELECT columnname as ''Original_Value'', LEN(LTRIM(columnname)) as ''Orig_Val_Char_Count'', N''[''+columnname+'']'' as ''UnicodeStr_Value'', LEN(N''[''+columnname+'']'')-2 as ''True_Char_Count'' FROM mytable

Las primeras dos columnas miran el valor original y cuentan los caracteres (menos los espacios iniciales / finales).

Necesitaba comparar eso con el verdadero conteo de caracteres, por lo que usé la segunda función LEN. Establece el valor de la columna en una cadena, fuerza esa cadena a Unicode y luego cuenta los caracteres.

Al utilizar los corchetes, se asegura de que los espacios iniciales o finales también se cuenten como caracteres; por supuesto, no quieres contar los paréntesis, así que restas 2 al final.


Utilice la función LEN :

Devuelve el número de caracteres de la expresión de cadena especificada, excluyendo los espacios en blanco finales.


Utilizar

SELECT length(yourfield) FROM table;