cabecerz

Reglas de formato de los identificadores

Los identificadores son los nombres de los objetos de la base de datos. Cualquier elemento de Microsoft SQL Server puede tener un identificador: servidores, bases de datos, tablas, vistas, columnas, índices, desencadenadores, procedimientos, restricciones, reglas, etc.

Las reglas de formato de los identificadores normales dependen del nivel de compatibilidad de la base de datos, que se establecía con el parámetro sp_dbcmptlevel pero que ahora Microsoft aconseja no utilizar ya que desaparecerá en versiones posteriores en vez de eso se tiene que utilizar la cláusula SET COMPATIBILITY_LEVEL de la instrucción ALTER TABLE. Cuando el nivel de compatibilidad es 90, (el asignado por defecto) se aplican las reglas siguientes para los nombres de los identificadores:

  • No puede ser una palabra reservada.
  • El nombre debe tener entre 1 y 128 caracteres, excepto para algunos tipos de objetos en los que el número es más limitado.
  • El nombre debe empezar por:
    • Una letra, como aparece definida por el estándar Unicode 3.2. La definición Unicode de letras incluye los caracteres latinos de la “a” a la “z” y de la “A” a la “Z“.
    • El carácter de subrayado ( _ ), arroba ( @ ) o número ( # ).
  • Ciertos símbolos al principio de un identificador tienen un significado especial en SQL Server. Un identificador que empieza con el signo de arroba indica un parámetro o una variable local. Un identificador que empieza con el signo de número indica una tabla o procedimiento temporal. Un identificador que empieza con un signo de número doble (##) indica un objeto temporal global.
  • Algunas funciones de Transact-SQL tienen nombres que empiezan con un doble signo de arroba (@@). Para evitar confusiones con estas funciones, se recomienda no utilizar nombres que empiecen con @@.
  • No se permiten los caracteres especiales o los espacios incrustados.

Si queremos utilizar un nombre que no siga estas reglas, normalmente para poder incluir espacios en blanco, lo tenemos que escribir encerrado entre corchetes [ ] (también se pueden utilizar las comillas pero recomendamos utilizar los corchetes).

2.5. Tipos de datos

En SQL Server cada columna, expresión, variable y parámetro está asociado a un tipo de datos. 
Un tipo de datos, realmente define el conjunto de valores válidos para los campos definidos de ese tipo. Indica si el campo puede contener: datos numéricos, de caracteres, moneda, fecha y hora, etc.

SQL Server proporciona un conjunto de tipos de datos del sistema que define todos los tipos de datos que pueden utilizarse. También podemos definir nuestros propios tipos de datos en Transact-SQL o Microsoft .NET Framework.

Los tipos de datos más utilizados son:

  • Los numéricos: intdecimalmoney
  • Los de fecha y hora: datetime
  • Y las cadenas de caracteres: varchar

Los tipos de datos de SQL Server 2005 se organizan en las siguientes categorías:

Números exactos:
bigintdecimal predeterminado dec(18,0)
intnumeric
smallintmoney
tinyintsmallmoney
bit
Números aproximados:
floatreal
Fecha y hora:
datetimesmalldatetime AAAA-MM-DD hh:mm:ss
date (en 2008)time (en 2008)
datetime2 (en 2008)datetimeoffset (en 2008)
Cadenas de caracteres:
char predeterminado char(1)text (en desuso)
varchar
Cadenas de caracteres Unicode:
nchar predeterminado nchar(1)ntext (en desuso)
nvarchar
Cadenas binarias:
binary predeterminado binary(1)image (en desuso)
varbinary
Otros tipos de datos:
cursortimestamp (rowversion en 2008)
sql_variantuniqueidentifier
tablexml

Las constantes

Una constante es un valor específico o un símbolo que representa un valor de dato específico. El formato de las constantes depende del tipo de datos del valor que representan. En este apartado veremos las más utilizadas.

  • Las constantes numéricas se escriben mediante una cadena de números, con la consideración de que el separador decimal es un punto, no una coma, y que si se trata de un valor monetario deberemos incluir la moneda al inicio de la constante. Por ejemplo: 85.90 y €85.90, el primero sería un valor decimal y el segundo un valor money. De forma predeterminada, los valores serán positivos. Para indicar lo contrario escribimos el signo  al principio.
  • Las constantes de fecha y hora van entre comillas simples y con un formato de fecha y hora adecuado. Por ejemplo: ’03/10/90′.
  • Y las constantes en cadenas de caracteres van entre comillas simples. Por ejemplo: ‘Juan García López’.

Para indicar valores negativos y positivos añadimos el prefijo + o  según sea el valor positivo o negativo. Sin prefijo se entiende que el valor es positivo.

Las constantes de cadena de caracteres van entre comillas simples e incluyen caracteres alfanuméricos (a-z, A-Z y 0-9) y caracteres especiales, como el signo de exclamación (!), la arroba (@) y el signo de número (#).

Si la opción QUOTED_IDENTIFIER se ha establecido en OFF para una conexión, las cadenas de caracteres también se pueden incluir entre comillas dobles, pero el proveedor de Microsoft SQL Native Client y el controlador ODBC utilizan automáticamente SET QUOTED_IDENTIFIER ON. Se recomienda el uso de comillas simples.

Si una cadena de caracteres entre comillas simples contiene una comilla, la comilla interna se representa con dos comillas simples. Esto no es necesario en las cadenas incluidas entre comillas dobles.

Por ejemplo:

‘Juan García López’  representa el valor Juan García López

‘Escribir ’’Continuar’’’ representa el valor Escribir ‘Continuar’

Las cadenas vacías se representan como dos comillas simples sin nada entre ellas. En el modo de compatibilidad 6.x, una cadena vacía se trata como un espacio.

Las constantes de cadena de caracteres admiten intercalaciones mejoradas.

Las cadenas Unicode tienen un formato similar al de las cadenas de caracteres, pero están precedidas por el identificador N (N es el idioma nacional en el estándar SQL-92). El prefijo N tiene que estar en mayúsculas. Por ejemplo, ‘Miguel’ es una constante de caracteres, mientras que N’Miguel’  es una constante Unicode.

Las constantes Unicode se interpretan como datos Unicode y no se evalúan mediante una página de códigos. Los datos Unicode se almacenan con 2 bytes por carácter en lugar de 1 byte por carácter, como los datos de cadenas de caracteres.

Las constantes de cadena Unicode aceptan intercalaciones mejoradas.

Sin el prefijo N, la cadena se convierte a la página de códigos predeterminada de la bd.

Las constantes de tipo datetime se representan mediante valores de fecha en formatos específicos de cadenas de caracteres, incluidos entre comillas simples. 
Ejemplos de constantes datetime:

‘Marzo 10, 1990’

’10 Marzo, 1990′

‘900310’

’03/10/90′

Ejemplos de constantes de hora:

’14:30:24′

’04:24 PM’

Las binarias que tienen el prefijo 0x y son cadenas de números hexadecimales. No se incluyen entre comillas.

Por ejemplo:

0x1F

0xA345

 Entre las constantes de tipo numérico encontramos:

Las de tipo bit que se representan con los números 0 ó 1, y no se incluyen entre comillas. Si se utiliza un número mayor que uno, se convierte en uno.

Las de tipo integer se representan mediante una cadena de números sin comillas y sin separadores decimales.

Las de tipo decimal se representan mediante una cadena de números sin comillas y con el punto como separador decimal.

Ejemplos:

1894.1204

2.0

Las de tipo float y real se representan en notación científica.

Ejemplos:

101.5E5

0.5E-2

Las de tipo money se representan como el tipo decimal y un símbolo de moneda opcional como prefijo.

Por ejemplo:

€12

€542023.14

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies
Hola Bienvenido, envíame un mensaje
Enviar