Estoy tratando de encontrar la longitud máxima de un identificador de zona horaria. Esta es la cadena utilizada como el nombre de la zona horaria (por ejemplo, "América/Nueva_York"). La base de datos tz no es útil; No pude encontrar detalles de implementación.Longitud máxima del campo "tzname"/nombre del identificador de zona horaria
Microsoft (.NET Framework 4.5) suggests a max length of 32, pero esto parece ser una limitación de su registro.
libc points to a limit called "_POSIX_TZNAME_MAX", which is 3 characters long, pero este es un requisito mínimo absoluto para el cumplimiento de POSIX. Normalmente, supongo que una implementación usará más.
Así que la verdadera pregunta es: ¿Cuál es una longitud de cadena aceptable para almacenar con seguridad la zona horaria "tzname"/nombre del identificador?
¡Respuesta asombrosa! En realidad, no puedo usar cadenas de longitud variable porque quiero almacenar esas cadenas en una base de datos. Al principio, no quería usar un campo de caracteres arbitrariamente largo, pero creo que tengo una cadena larga de 40 caracteres [1]. Los pondré en una tabla separada y los referiré a ellos usando claves foráneas. 1: Hay una zona horaria ("América/Argentina/ComodRivadavia") que en realidad tiene 32 char de longitud. En el futuro podría haber otros nombres igualmente largos. – sleblanc
¿No puedes usar varchar en SQL? –
¿Los varchars realmente no requieren una longitud especificada? – sleblanc