Está en la página 1de 20

Módulo 6

Trabajar con el servidor 2014 tipos de datos SQL


Contenido:
Módulo Descripción general 1.6
Lección 1: Introducción a Servidor SQL 2014 Tipos de datos 6-2
Lección 2: Trabajar con datos de caracteres 6.10
Lección 3: Trabajar con datos de fecha y hora 17/06
Laboratorio: Trabajar con el servidor 2014 Tipos de datos SQL 6-23
Revisión del módulo y comida para llevar 6-29
Módulo de Información general
Para escribir consultas eficaces en T-SQL, tendrá que entender cómo las tiendas de Microsoft®
SQL Server®
diferentes tipos de datos. Esto es especialmente importante si las consultas no sólo recuperar
datos de tablas, pero
también realizar comparaciones, manipular datos, y ejecutar otras operaciones.
En este módulo, usted aprenderá acerca de los tipos de datos de SQL Server utiliza para
almacenar datos. En la primera lección,
será presentado a muchos tipos de tipos de datos numéricos y de uso especial. Usted
aprenderá acerca de las conversiones
entre tipos de datos y la importancia del tipo de datos precedencia. Usted aprenderá cómo
trabajar con
tipos de datos basados en caracteres, incluyendo las funciones que se pueden utilizar para
manipular los datos. También lo harás
aprender a trabajar con datos temporales, o de fecha y hora de datos, incluyendo funciones
para recuperar y
manipular la totalidad o porciones de una fecha almacenada.
Objetivos
Después de completar este módulo, el alumno será capaz de:
 Describir los tipos de datos numéricos, el tipo de prioridad, y conversiones de tipos.
 Escribir consultas utilizando los tipos de datos de carácter.
 Escribir consultas utilizando los tipos de datos de fecha y hora.
MCT USAR SOLAMENTE. ESTUDIANTE USO PROHIBIDO
6.2 Trabajando con SQL Server 2014 Tipos de datos
Lección 1
Presentación de Servidor 2014 tipos de datos SQL
En esta lección, explorará muchos de los tipos de datos de SQL Server utiliza para almacenar
datos y aprender cómo los datos
tipos se convierten entre los tipos.
Nota: El carácter, la fecha y tipo de datos de tiempo están excluidos de esta lección, sino que
se trata más adelante
en el módulo.
Si su enfoque en la toma de este curso es escribir consultas para los informes, es posible que
desee tomar nota de que los datos
tipos se utilizan en su entorno. A continuación, puede planificar sus informes y aplicaciones de
cliente con suficiente
capacidad para visualizar el rango de valores en poder de los tipos de datos de SQL Server.
También puede ser necesario para planificar
conversiones en sus consultas para mostrar datos de SQL Server en otros entornos.
Si su objetivo es continuar en el desarrollo y administración de bases de datos, es posible que
desee tomar nota de
las similitudes y diferencias dentro de las categorías de tipos de datos y la planificación de su
almacenamiento en consecuencia, a medida que
crear tipos y parámetros de diseño para procedimientos almacenados.
Objetivos de la lección
Después de completar esta lección, el alumno será capaz de:
 Describir cómo SQL Server utiliza los tipos de datos.
 describir los atributos de tipos de datos numéricos, así como cadenas binarias y otros datos
especializados
tipos.
 Describir tipo de datos precedencia y su uso en la conversión de datos entre diferentes tipos
de datos.
 Describir la diferencia entre la conversión implícita y explícita tipo de datos.
Tipos de datos de SQL Server
SQL Server 2014 define un conjunto de tipos de datos del sistema
para almacenar datos en columnas, sosteniendo valores
temporalmente en las variables, que operan en los datos de
expresiones, y pasando como parámetros almacenados en
procedimientos. Los tipos de datos especifican el tipo, longitud,
precisión, y la escala de los datos. La comprensión de la
tipos básicos de datos en SQL Server es fundamental para
escribir consultas en T-SQL, así como el diseño
mesas y la creación de otros objetos en SQL Server.
Suministros de SQL Server incorporado en los tipos de datos de varios
categorías. Los desarrolladores también pueden extender la
suministro, establecido por la creación de alias a los tipos incorporados
e incluso mediante la producción de nuevos tipos definidos por el usuario utilizando el
Microsoft .NET Framework. Esta lección se centrará
sobre los tipos de datos del sistema incorporadas.
MCT USAR SOLAMENTE. ESTUDIANTE USO PROHIBIDO
Consulta Microsoft® SQL Server® 3.6
Aparte de los personajes, la fecha, y los tipos de tiempo, que se tratarán más adelante en este
módulo, los datos de SQL Server
tipos se pueden agrupar en las siguientes categorías:
 numérica exacta. Estos tipos de datos almacenan datos con precisión, ya sea como:
o enteros con diferentes grados de capacidad.
o decimales que le permiten especificar el número total de dígitos almacena y cómo muchos
de los que
debe estar a la derecha del decimal.
A medida que aprenda acerca de estos tipos, tome nota de la relación entre la capacidad y
almacenamiento
requisitos.
 numérica aproximada. Estos tipos de datos permiten a los valores inexactos para ser
almacenados, por lo general para su uso en
cálculos científicos.
 cadenas binarias. Estos tipos de datos permiten que los datos binarios para ser almacenados,
tales como bytestreams o hashes, a
aplicaciones de soporte personalizados.
 Otros tipos de datos. Este cajón de sastre categoría incluye tipos especiales como
uniqueidentifier y XML,
que se utiliza a veces como tipos de datos de columna (y por lo tanto son accesibles a las
consultas). También
incluye los tipos de datos que no se utilizan para el almacenamiento, sino más bien para las
operaciones especiales como cursor
manipulaciones o la creación de tablas de salida para su posterior procesamiento. Si usted es
un escritor de informe, es posible que
sólo se encontrará con los tipos de datos uniqueidentifier y XML.
Tipos de datos numéricos
 Cuando se trabaja con datos numéricos exactos, que
verá que hay tres básicos
subcategorías de tipos de datos en SQL Server -
numérico exacto, numérico decimal, y
numérico aproximado. Cada datos de SQL Server
Tipo cae en una de estas categorías.
 tipos numéricos exactos incluyen:
 Los enteros, donde la distinción entre tipos
se refiere a los requisitos de capacidad y almacenamiento.
Tenga en cuenta que el tipo de datos tinyint, por ejemplo,
sólo puede contener valores entre 0 y 255, por
el costo de almacenamiento de 1 byte. En el otro extremo de
el espectro, el tipo de datos bigint puede contener más o menos 9 trillones (un valor muy
grande) a costa
de 8 bytes. Usted tendrá que decidir qué tipo de datos entero ofrece la mejor opción para la
capacidad frente
almacenamiento. Es frecuente encontrar que el tipo de datos int se ha seleccionado, ya que
proporciona la mejor
disyuntiva a una capacidad de más o menos 2 mil millones a costa de 4 bytes.
 Decimal y numérica, que permiten especificar el número total de dígitos a ser almacenados
(precisión)
y el número de dígitos a la derecha del punto decimal (escala). Al igual que con números
enteros, mayor será la gama,
mayor será el costo de almacenamiento. Tenga en cuenta que, mientras decimal es compatible
con los estándares ISO, decimal y
numérico son equivalentes entre sí. Numérico se mantiene por compatibilidad con versiones
anteriores de SQL
Servidor.
 Dinero y smallmoney, que están diseñados para mantener los valores monetarios, con un
máximo de cuatro personas
lugares. Usted puede encontrar que su organización utiliza el tipo de decimal en lugar de
dinero por su mayor
flexibilidad y precisión.
MCT USAR SOLAMENTE. ESTUDIANTE USO PROHIBIDO
4.6 Trabajando con SQL Server 2014 Tipos de datos
 Bit, que es un valor de un bit se utiliza para almacenar valores booleanos o banderas.
Almacenamiento para una columna de bits es
depende de cuántos otros puede haber en una tabla, debido a SQL Server optimización de su
almacenamiento.
Ir a los temas siguientes en los Libros en pantalla: Decimal y numérico (Transact SQL) en:
decimal y numeric (Transact-SQL)
http://go.microsoft.com/fwlink/?LinkID=402721
Precisión, escala y longitud (Transact-SQL) en:
Precisión, escala y longitud (Transact-SQL)
http://go.microsoft.com/fwlink/?LinkID=402723
Tipos de datos (Transact-SQL) en:
Tipos de datos (Transact-SQL)
http://go.microsoft.com/fwlink/?LinkID=402724
SQL Server también proporciona tipos de datos para los valores numéricos aproximados. Los
tipos de datos numéricos aproximados
son menos precisos pero tienen más capacidad que los tipos de datos numéricos exactos. La
numérico aproximado
tipos de datos almacenan los valores en notación científica, que pierde exactitud debido a la
falta de precisión.
 Float toma un parámetro opcional del número de dígitos a ser almacenado después del
decimal. Esta
parámetro se denomina la mantisa, el valor de lo que determina el tamaño de
almacenamiento del flotador. Si el
mantisa está en el rango 1 a 24, el flotador requiere 4 bytes. Si la mantisa es de entre 25 y 53,
se
requiere 8 bytes.
 Real es un sinónimo de la ISO para flotador (24).
Ir a la Flotador tema y real (Transact-SQL) en los Libros en pantalla en:
float y real (Transact-SQL)
http://go.microsoft.com/fwlink/?LinkID=402725
Tipos binario de datos de cadena
Tipos de datos de cadena binarias permiten a un desarrollador para almacenar
información binaria, como archivos serializados, imágenes,
bytestreams, y otros datos especializados. Si usted es
teniendo en cuenta el uso del tipo de datos binarios, tenga en cuenta el
diferencias en la gama y el almacenamiento en comparación con
enteros y datos de cadenas de caracteres. Puedes elegir
entre ancho fijo y variando la anchura binaria
instrumentos de cuerda. La diferencia entre estos será
se explica en la lección tipo de datos de carácter más adelante en
el módulo.
MCT USAR SOLAMENTE. ESTUDIANTE USO PROHIBIDO
Consulta Microsoft® SQL Server® 6-5
El siguiente ejemplo muestra un número convertido a un tipo de datos binarios. (Usted
aprenderá acerca de la REPARTO
funcionar en el siguiente módulo) esta consulta.:
La conversión a tipo de datos binarios
SELECT CAST (12345 AS BINARY (4)) AS Resultado;
Devuelve el siguiente:
Resultado
----------
0x00003039
Ir a la binaria tema y varbinary (Transact-SQL) en los Libros en pantalla en:
binario y varbinary (Transact-SQL)
http://go.microsoft.com/fwlink/?LinkID=402726
Otros tipos de datos
Además de numérico y tipos binarios, SQL
Server también proporciona algunos otros tipos de datos,
que le permite almacenar y XML proceso, generan
identificadores únicos globales (GUID), representan
jerarquías, y más. Algunos de ellos han limitado
uso, otros son más generalmente útiles:
 rowversion es un valor binario, autoincremental
cuando se inserta una fila en una tabla
o actualizada. En realidad, no almacenar el tiempo
datos en una forma que sea útil para usted.
Rowversion también tiene otras limitaciones.
 Uniqueidentifier proporciona un mecanismo para
un valor generado automáticamente que es único en varios sistemas. Se almacena como un
byte 16
valor. Uniqueidentifier debe generarse ya sea mediante la conversión de una cadena
(reducción de la garantía
de la unicidad) o mediante el uso de la función del sistema NEWID ().
Por ejemplo, esta consulta:
Identificador único
SELECT NEWID () AS [GUID];
Devoluciones:
GUID
------------------------------------
1C0E3B5C-EA7A-41DC-8E1C-D0A302B5E58B
 XML permite el almacenamiento y la manipulación de los datos de lenguaje extensible de
marcado. Este tipo de datos almacena
hasta 2 GB de datos por instancia del tipo.
Lectura adicional: Ir al supuesto 20464C: Desarrollo de Microsoft® SQL Server® Bases de datos
para obtener información adicional sobre el tipo de datos XML.
MCT USAR SOLAMENTE. ESTUDIANTE USO PROHIBIDO
6.6 Trabajando con SQL Server 2014 Tipos de datos
 Los cursores se enumeran aquí para completar. Un cursor de SQL Server no es un tipo de
datos para el almacenamiento de datos, pero
lugar para su uso en las variables o procedimientos almacenados que hacen referencia a un
objeto cursor. Las discusiones de los cursores
están más allá del alcance de este módulo.
 hierarchyid es un tipo de datos se utiliza para almacenar datos de la posición jerárquica,
como los niveles de una organización
gráfico o lista de materiales. SQL Server almacena los datos de jerarquía como datos binarios y
expone a través de orden interna
funciones.
Lectura adicional: Ir al supuesto 20464C: Desarrollo de Microsoft® SQL Server® Bases de datos
para obtener información adicional sobre el tipo de datos hierarchyid.
 SQL_VARIANT es un tipo de datos de columna que puede almacenar otros tipos de datos
común. Su uso no es la mejor
practicar para el almacenamiento de datos típico y puede indicar problemas de diseño. Está
aquí por la totalidad.
 tipos de datos la tabla se puede utilizar para almacenar los resultados de instrucciones T-SQL
para su posterior procesamiento posterior,
tal como en una declaración posterior en una consulta. Usted aprenderá más sobre los tipos
de tabla más adelante en este
curso. Tenga en cuenta que los tipos de tabla no se pueden utilizar como un tipo de datos para
una columna (por ejemplo, para almacenar anidada
mesas).
La información sobre todos los tipos de datos de SQL Server se puede encontrar en los libros
en pantalla a partir de:
Tipos de datos (Transact-SQL)
http://go.microsoft.com/fwlink/?LinkID=402724
Tipo de datos Precedencia
Al combinar o comparar diferentes datos
tipos en sus consultas, como en una cláusula WHERE,
SQL Server tendrá que convertir un valor a partir de su
tipo de datos a la del otro valor. ¿Qué datos
tipo se convierte depende de la precedencia
entre los dos.
SQL Server define un ranking de todos sus tipos de datos
por precedencia entre los dos tipos de datos, uno
tendrá una prioridad más baja y el otro un
mayor precedencia. Al convertir, SQL Server
convertirá el tipo de datos inferior a la superior.
Típicamente, esto ocurrirá implícitamente, sin la
la necesidad de un código especial. Sin embargo, es importante que usted tiene una
comprensión básica de esta precedencia
disposición para que usted sepa cuando se necesita de forma manual, o explícitamente,
convertir tipos de datos para combinar o
convertirlos.
Por ejemplo, aquí hay una lista parcial de los tipos de datos clasificados de acuerdo a su
preferencia:
1. XML
2. datetime2
3. Fecha
4. Tiempo
5. Decimal
6. Int
MCT USAR SOLAMENTE. ESTUDIANTE USO PROHIBIDO
Consulta Microsoft® SQL Server® 6-7
7. Tinyint
8. Nvarchar
9. Char
Al combinar o comparar dos expresiones con diferentes tipos de datos, la que más bajas en
esta lista será
convertido al tipo que es más alta. En este ejemplo, la variable de tipo tinyint será
implícitamente
se convierte a int antes de ser añadido a la intmyInt variable:
DECLARAR COMOmyTinyInt TINYINT = 25;
DECLARARmyInt como INT = 9,999;
SELECTmyTinyInt +myInt;
Nota: Cualquier conversión implícita es transparente para el usuario de modo, si falla (por
ejemplo, cuando su
operación requiere la conversión de una mayor a una menor precedencia), tendrá que
explícitamente
convertir el tipo de datos. Usted aprenderá cómo utilizar la función CAST para este fin en el
próximo
módulo.
Para obtener más información y una lista completa de tipos y su precedencia, ir a los libros en
línea en:
Tipo de datos Precedencia (Transact-SQL)
http://go.microsoft.com/fwlink/?LinkID=402727
Cuando se convierte tipos son datos?
Hay una serie de escenarios en los que los datos
tipos se pueden convertir al consultar SQL
Servidor:
 Cuando se mueve de datos, en comparación, o combinado
con otros datos.
 Durante la asignación de variables.
 Al utilizar cualquier operador que involucra a dos
operandos de diferentes tipos.
 Cuando el código T-SQL convierte explícitamente un tipo
a otro, usando un yeso o CONVERTIR
función.
En el ejemplo del tema anterior, se vio que el tipo de datos tinyint se convierte implícitamente
a int en el
consulta:
Conversión implícita
DECLARAR COMOmyTinyInt TINYINT = 25;
DECLARARmyInt como INT = 9,999;
SELECTmyTinyInt +myInt;
MCT USAR SOLAMENTE. ESTUDIANTE USO PROHIBIDO
6.8 Trabajando con SQL Server 2014 Tipos de datos
Usted también puede anticipar que una conversión implícita se llevará a cabo en el siguiente
ejemplo:
Conversión implícita Ejemplo
DECLARARsomechar CHAR (5) = '6';
DECLARARsomeint INT = 1
somechar +someint SELECT;
Pregunta: ¿Qué tipo de datos se convertirán? ¿A qué tipo?
Como usted ha aprendido, SQL Server intentará automáticamente realizar una conversión
implícita de un
de menor precedencia tipo de datos a una mayor precedencia.
Esto es transparente para el usuario, a menos que falla, como en el siguiente ejemplo:
Error de conversión
DECLARARsomechar CHAR (3) = «seis»;
DECLARARsomeint INT = 1
somechar +someint SELECT;
Devoluciones:
Msj 245, nivel 16, estado 1, línea 3
Error de conversión al convertir el valor varchar «seis» de tipo de datos int.
Pregunta: ¿Por qué el intento de SQL Server para convertir la variable de carácter a un entero y
no a la inversa
revés?
Para obligar a SQL Server para convertir el tipo de datos int a un personaje para los fines de la
consulta, se quiere
que convertir explícitamente. Usted aprenderá cómo hacer esto en el siguiente módulo.
Para obtener más información acerca de las conversiones de tipos de datos, vaya a los libros
en línea en:
Tipo de conversión de datos (Database Engine)
http://go.microsoft.com/fwlink/?LinkID=402728
MCT USAR SOLAMENTE. ESTUDIANTE USO PROHIBIDO
Consulta Microsoft® SQL Server® 6.9
Tipos de servidor de datos SQL: Demostración
En esta demostración, verá cómo:
 Convertir tipos de datos.
Pasos de demostración
Convertir tipos de datos
1. Asegúrese de que las máquinas virtuales 20461C-MIA-CC y 20461C-MIA-SQL se ejecutan
tanto, y luego
iniciar sesión en 20461C-MIA-SQL como AdventureWorks \ Estudiante con la contraseña Pa $$
w0rd.
2. Ejecute D: \ Demofiles \ Mod06 \ Setup.cmd como administrador.
3. Inicie SQL Server Management Studio y conéctese a la instancia de motor de base de MIA-
SQL utilizando
La autenticación de Windows.
4. Abra la solución Demo.ssmssln en la carpeta D: \ Demofiles \ Mod06 \ demo.
5. Si el panel Explorador de soluciones no está visible, en el menú Ver, haga clic en el
Explorador de soluciones.
6. Abra la 11 - archivo de script A.sql demostración.
7. Siga las instrucciones contenidas en los comentarios del archivo de comandos.
8. Mantenga abierta para la próxima manifestación SQL Server Management Studio.
MCT USAR SOLAMENTE. ESTUDIANTE USO PROHIBIDO
6-10 Trabajar con el servidor 2014 tipos de datos SQL
Lección 2
Trabajar con datos de caracteres
Es probable que gran parte de los datos que va a trabajar en sus consultas T-SQL implicará
datos de caracteres. Como
usted aprenderá en esta lección, los datos de carácter implica no sólo opciones de capacidad y
almacenamiento, sino también textspecific
cuestiones tales como el lenguaje, un orden de publicación, y el cotejo. En esta lección, usted
aprenderá acerca de SQL
Tipos de caracteres basado en servidor de datos, cómo trabajan las comparaciones de
caracteres, y algunas funciones comunes que
puede encontrar útil en sus consultas.
Objetivos de la lección
Después de completar esta lección, el alumno será capaz de:
 Describir los tipos de datos que se utilizan para almacenar la fecha y la hora.
 Introduzca las fechas y horas como valores literales para SQL Server para convertir a la fecha
y hora tipos.
 Escribir consultas que comparan las fechas y horas.
 Escribir consultas utilizando funciones incorporadas para manipular fechas y partes de fecha
extracto.
Tipos de datos de Carácter
A pesar de que hay muchos tipos de datos numéricos en
SQL Server, trabajar con números es relativamente
sencilla, puesto que sólo hay tantos para
trabajar con. En comparación, los datos de caracteres en SQL
Server es más complicado, debido a cuestiones tales como
idioma, juegos de caracteres, caracteres acentuados, más o menos
reglas y mayúsculas y minúsculas, así como la capacidad y
almacenamiento. Cada uno de estos temas tendrán un impacto
del tipo de datos de caracteres encontrará durante
escribir consultas.
Nota: Datos de Carácter está delimitada con una sola
citas.
 Una opción inicial es tipos de caracteres basados en un ASCII sencillo set frente Unicode, el
doble byte
conjunto de caracteres. Regular o no Unicode, los caracteres se limitan a un conjunto de 256
caracteres y ocupan 1
byte por carácter. Estos incluyen el CHAR (ancho fijo) y VARCHAR (anchura variable) tipos de
datos.
Personajes que utilizan estos tipos de datos se delimitan con comillas simples, como 'SQL'.
 tipos de datos Unicode incluyen NCHAR (ancho fijo) y NVARCHAR (anchura variable). Estos
pueden
representan aproximadamente 65.000 diferentes caracteres, incluyendo caracteres especiales
de muchos
idiomas-y consumen 2 bytes por carácter. Las cadenas de caracteres que utilizan este tipo
tienen un prefijo N (por
Nacional), tales como N'SQL '.
 los tipos de datos de caracteres también proporcionan almacenamiento más grande, en
forma de anchura variable regular y Unicode
tipos declarados con la opción MAX: VARCHAR (MAX) y NVARCHAR (MAX). Estos pueden
almacenar hasta 2
GB (con cada carácter Unicode utilizando 2 bytes) por ejemplo, y reemplazar el texto obsoleto
y
Tipos de datos ntext, respectivamente.
MCT USAR SOLAMENTE. ESTUDIANTE USO PROHIBIDO
Consulta Microsoft® SQL Server® 6-11
Rangos de tipos de datos de caracteres y los requisitos de almacenamiento se enumeran en la
siguiente tabla:
Tipo de datos Rango de Almacenamiento
CHAR (n),
NCHAR (n)
1-8000 caracteres n bytes, rellenada
2 * n bytes, rellenada
VARCHAR (n),
NVARCHAR (n)
1-8000 caracteres n + 2 bytes
(2 * n) + 2 bytes
VARCHAR (max),
Nvarchar (max)
1-2 ^ 31-1 caracteres Longitud real + 2
Colación
Además del tamaño y el conjunto de caracteres, SQL Server
tipos de datos de caracteres se asignan una colación. Esta
asignación puede estar en uno de los varios niveles de la
instancia del servidor, la base de datos (por defecto), o una
cotejo asignado a una columna de una tabla o
expresión. Colaciones son colecciones de propiedades
que rigen varios aspectos de los datos de carácter:
 Idiomas soportados
 Orden de clasificación
 mayúsculas y minúsculas
 sensibilidad Accent
Nota: A colación por defecto se establece durante la instalación de SQL Server, pero puede ser
anulado en función de cada base de datos o por columnas. Como se verá, también puede
anular el
cotejo actual de algunos datos de caracteres estableciendo explícitamente una intercalación
diferente en la consulta.
Cuando se consulta, es importante estar al tanto de la configuración de intercalación para sus
datos de carácter. Por ejemplo,
es entre mayúsculas y minúsculas? La siguiente consulta se ejecutará de forma diferente, en
función de si la columna es
comparación entre mayúsculas y minúsculas o no.
Si la columna es sensible a mayúsculas y el valor deseado es Funk, entonces esto va a tener
éxito:
Mayúsculas y minúsculas Ejemplo
Empid SELECT, apellido
DESDE hr.employees
DONDE apellido = N'Funk ';
Por los mismos datos, esta consulta volvería resultados no válidos si la columna eran
mayúsculas y minúsculas:
Mayúsculas y minúsculas Ejemplo
Empid SELECT, apellido
DESDE hr.employees
DONDE apellido = N'funk ';
MCT USAR SOLAMENTE. ESTUDIANTE USO PROHIBIDO
6-12 Trabajar con el servidor 2014 tipos de datos SQL
Para controlar la forma en la consulta es el tratamiento de la configuración de intercalación,
puede añadir la cláusula COLLATE opcional a la
Dónde cláusula.
En este ejemplo se obligará a una comparación entre mayúsculas y minúsculas y acentos
sensibles mediante el Latin1_General
conjunto de caracteres:
COLLATE cláusula
Empid SELECT, apellido
DESDE hr.employees
DONDE COLLATE apellido Latin1_General_CS_AS = N'Funk ';
Concatenación de cadenas
Para concatenar, o unirse juntos, dos cadenas, SQL
Server utiliza el operador + (más).
El siguiente ejemplo concatena un hecho
nombre, el espacio, y el nombre de la familia en una sola cadena:
Cadena concatenación Ejemplo
SELECCIONAR
empid, apellido, nombre, apellido + N '' +
apellido AS nombre completo
DESDE hr.employees;
Nota: Dado que el signo más se utiliza también para
Además aritmética, considere si alguno de sus datos es numérico al concatenar.
Los personajes tienen una precedencia menor que los números, y SQL Server intentarán
convertir y
añadir tipos de datos mixtos en lugar de la concatenación de ellos.
SQL Server 2012 introduce una nueva función CONCAT, que devuelve una cadena que es el
resultado de
concatenar uno o más valores de cadena. A diferencia del operador +, CONCAT convertirá
ningún NULL a
cadenas vacías antes de la concatenación.
La sintaxis es la siguiente:
Función CONCAT
CONCAT (string_value1, string_value2, string_valueN)
Un ejemplo de CONCAT es:
CONCAT Ejemplo
SELECT custid, ciudad, región, país,
CONCAT (ciudad, ',' + región ',' + país) como la ubicación
DESDE Sales.Customers;
MCT USAR SOLAMENTE. ESTUDIANTE USO PROHIBIDO
Consulta Microsoft® SQL Server® 6-13
Esta consulta devuelve los siguientes resultados parciales:
ciudad custid ubicación región país
------ ----------- ------ -------- ------------------- ------------
1 Berlin NULL Alemania Berlín, Alemania
2 México D. F. NULL México México D. F., México
3 México D. F. NULL México México D. F., México
4 NULL Londres Reino Unido Londres, Reino Unido
5 Luleå NULL Suecia Luleå, Suecia
Ir al tema CONCAT (Transact-SQL) en los Libros en pantalla en:
CONCAT (Transact-SQL)
http://go.microsoft.com/fwlink/?LinkID=402729
Funciones de cadena de caracteres
Además de recuperar los datos de caracteres en que está de
SQL Server, también puede ser necesario extraer porciones
de texto o determinar la ubicación de caracteres
dentro de una cadena más grande. SQL Server proporciona una
número de funciones integradas para lograr estos
Tareas. Algunas de estas funciones son:
 FORMATO () - le permite formatear una entrada
valor a una cadena de caracteres basado en un .NET
cadena de formato, con una cultura opcional
parámetro:
En este ejemplo:
Función FORMATO
Superior SELECT (3) idpedido, FORMATO (FechaPedido, 'd', 'es-es') AS nosotros,
FORMATO (FechaPedido, "d", "de-DE ') AS de
DESDE Sales.Orders;
Devoluciones:
Nosotros pedimos de
------- -------- ----------
10248 04/07/2006 04/07/2006
10249 05/07/2006 05/07/2006
10250 07/08/2006 07/08/2006
 SUBSTRING () - para el retorno de parte de una cadena de caracteres dado un punto de
partida y un número de
caracteres para volver.
En este ejemplo:
Ejemplo SUBSTRING
SUBSTRING SELECT ("Microsoft SQL Server", 11,3) como resultado;
MCT USAR SOLAMENTE. ESTUDIANTE USO PROHIBIDO
6-14 Trabajar con el servidor 2014 tipos de datos SQL
Devoluciones:
Resultado
------
SQL
 LEFT () y RIGHT () - para el retorno de los personajes más a la izquierda o más a la derecha,
respectivamente, hasta un
proporcionado punto en una cadena.
Vea el siguiente ejemplo:
IZQUIERDA Ejemplo
Selección izquierda ("Microsoft SQL Server", 9) como resultado;
Devoluciones:
Resultado
---------
Microsoft
 LEN () y DATALENGTH () - para proporcionar metadatos sobre el número de caracteres o
bytes almacenados
en una cadena. Dada una cadena rellena con espacios.
Vea el siguiente ejemplo:
LEN y DATALENGTH Ejemplo
SELECT LEN ("Microsoft SQL Server ') AS [LEN];
DATALENGTH SELECT ("Microsoft SQL Server ') AS [datalen];
Devoluciones:
LEN
-----------
20
Datalen
-----------
25
 CHARINDEX () - para devolver un número que representa la posición de una cadena dentro
de otra cadena.
Vea el siguiente ejemplo:
CHARINDEX Ejemplo
CHARINDEX SELECT ('SQL', 'Microsoft SQL Server') AS Resultado;
Devoluciones:
Resultado
-----------
11
 CAMBIAR () - para la sustitución de un conjunto de caracteres con otro conjunto dentro de
una cadena.
MCT USAR SOLAMENTE. ESTUDIANTE USO PROHIBIDO
Consulta Microsoft® SQL Server® 06.15
Vea el siguiente ejemplo:
REEMPLAZAR Ejemplo
Seleccione Reemplazar ("Microsoft SQL Server Hekaton ',' Hekaton ',' 2014 en memoria OLTP
Engine ') AS Resultado;
Devoluciones:
Resultado
------
Microsoft SQL Server 2014 en memoria OLTP Motor
 SUPERIOR () y LOWER () - para realizar conversiones de casos.
Vea el siguiente ejemplo:
Superior e inferior Ejemplo
SELECT SUPERIOR ("Microsoft SQL Server ') AS [UP], INFERIOR (" Microsoft SQL Server') AS
[LOW];
Devoluciones:
ARRIBA BAJA
-------------------- ----------------------
MICROSOFT SQL SERVER Microsoft SQL Server
Para referencias sobre estas y otras funciones de cadena, ir a los libros en línea en:
Funciones de cadena (Transact-SQL)
http://go.microsoft.com/fwlink/?LinkID=402730
El predicado LIKE
Datos basados en caracteres en SQL Server proporciona para
más juegos compatibles en sus consultas. Mediante
el uso del predicado LIKE, también puedes realizar
la coincidencia de patrones en su cláusula WHERE.
El predicado LIKE le permite comprobar un personaje
cadena contra un patrón. Los patrones se expresan
con símbolos, que pueden ser utilizados solos o en
combinaciones para buscar dentro de sus cadenas:
% (por ciento) representa una cadena de cualquier longitud.
Por ejemplo, COMO N'Sand% 'coincidirá' Arena ',
"Sandwich", "Sandwiches", y así sucesivamente.
 _ (guión bajo) representa un solo carácter. Por ejemplo, COMO N'_a 'coincidirá con cualquier
cadena cuyo
segundo personaje es una 'a'.
 [<Lista de caracteres>] representa un carácter único dentro de la lista suministrada. Por
ejemplo, COMO
N '[DEF]%' encontrará cualquier cadena que comienza con una "D", "E", o un "F".
 [<caracteres> - <carácter>] representa un carácter único dentro del rango especificado. Por
ejemplo,
COMO N '[N-Z]%' coincidirá con cualquier cadena que comienza con una letra del alfabeto
entre N y Z,
inclusivo.
 [^ <lista de caracteres o rango>] representa un único carácter no en la lista o rango
especificado. por
ejemplo, COMO N '^ [A]% coincidirá con una cadena que comienza con otra cosa que no sea
una' A '.
MCT USAR SOLAMENTE. ESTUDIANTE USO PROHIBIDO
16.06 Trabajar con el servidor 2014 tipos de datos SQL
 ESCAPE personaje le permite buscar a un personaje que es también un carácter comodín. Por
ejemplo,
COMO N'10% de descuento% 'ESCAPE'% 'encontrará cualquier cadena que comienza con un
10%, incluyendo el carácter literal
'%'.
Demostración: Trabajar con datos de caracteres
En esta demostración, verá cómo:
 Manipular datos de caracteres.
Pasos de demostración
Manipular Carácter de Datos
1. Asegúrese de que ha completado la demostración previa en este módulo. Alternativamente,
inicie el
Máquinas virtuales 20461C-MIA-CC y 20461C-MIA-SQL, ingrese a 20461C-MIA-SQL como
AdventureWorks \ Estudiante con la contraseña Pa $$ w0rd, y correr
D: \ Demofiles \ Mod06 \ Setup.cmd como administrador.
2. Si SQL Server Management Studio no está abierto, iniciarlo y conectarse a la base de datos
MIA-SQL
instancia del motor mediante la autenticación de Windows y, a continuación, abra la solución
Demo.ssmssln en el
Carpeta D: \ Demofiles \ Mod06 \ demo.
3. En el Explorador de soluciones, abra el 21 - archivo de script B.sql demostración.
4. Siga las instrucciones contenidas en los comentarios del archivo de comandos.
5. Mantenga abierta para la próxima manifestación SQL Server Management Studio.
MCT USAR SOLAMENTE. ESTUDIANTE USO PROHIBIDO
Consulta Microsoft® SQL Server® 06.17
Lección 3
Trabajo con datos de fecha y hora
Fecha y datos de tiempo es muy común en el trabajo con los tipos de datos de SQL Server. En
esta lección, aprenderá
que se utilizan tipos de datos para almacenar datos temporales, cómo entrar en las fechas y
horas para que sean adecuadamente
analizada por SQL Server, y cómo manipular fechas y horas con funciones incorporadas.
Objetivos de la lección
Después de completar esta lección, el alumno será capaz de:
 Describir los tipos de datos que se utilizan para almacenar la fecha y la hora.
 Introduzca las fechas y horas como valores literales para SQL Server para convertir a la fecha
y hora tipos.
 Escribir consultas que comparan las fechas y horas.
 Escribir consultas utilizando funciones incorporadas para manipular fechas y partes de fecha
extracto.
Fecha y Hora de tipos de datos
Ha habido una progresión en SQL Server de
el manejo de los datos temporales como las versiones más recientes son
liberado. Dado que es posible que tenga que trabajar con datos
creado para versiones anteriores de SQL Server, incluso
aunque usted está escribiendo consultas para SQL Server 2014,
será útil revisar apoyo en el pasado para la fecha
y los datos de tiempo:
 Antes de SQL Server 2008, sólo había dos
los tipos de datos de fecha y datos de tiempo: DATETIME
y SMALLDATETIME. Cada uno de estos almacenado
tanto la fecha y la hora en un solo valor. por
ejemplo, un DATETIME podría almacenar '20140212
08:30:00 'para representar 12 de febrero 2014 a las 8:30 am.
 En SQL Server 2008, Microsoft introdujo cuatro nuevos tipos de datos: DATETIME2, fecha,
hora, y
DateTimeOffset. Estos abordaron temas de la precisión, la capacidad, el seguimiento de la
zona horaria y la separación
data de los tiempos.
 En SQL Server 2012, Microsoft introdujo nuevas funciones para trabajar con datos parciales a
partir de la fecha y
Tipos de datos de tiempo (como DATEFROMPARTS) y para la realización de cálculos en las
fechas (como
EOMONTH).
MCT USAR SOLAMENTE. ESTUDIANTE USO PROHIBIDO
6-18 Trabajar con el servidor 2014 tipos de datos SQL
Fecha y hora de Datos Tipos: Los literales
Para utilizar los datos de fecha y hora en las consultas, lo harás
tienen que ser capaces de representar los datos temporales en TSQL.
SQL Server no ofrece una opción específica para
entrar en las fechas y horas, por lo que va a utilizar caracteres
cuerdas llamados literales, que están delimitadas con
comillas simples. SQL Server implícitamente convertir el
literales a los valores de fecha y hora. (Usted puede también tener
convertir explícitamente literales con el reparto de T-SQL
función, que usted aprenderá acerca de la próxima
módulo).
SQL Server puede interpretar una amplia variedad de literal
formatos como fechas, pero por coherencia y para evitar
problemas con el lenguaje o interpretación nacionalidad, se recomienda que utilice un formato
neutral,
como «AAAAMMDD». Representar a 12 de febrero 2014, se utilizaría el literal '20140212'.
Para utilizar literales en una consulta, consulte el siguiente ejemplo:
Los literales Ejemplo
Idpedido SELECT, custid, empid, FechaPedido
DESDE Sales.Orders
DONDE OrderDate = '20070825';
Además «AAAAMMDD», otros formatos independientes del idioma están disponibles para
usted:
Formatos Tipo de datos Idioma-Neutral Ejemplos
DATETIME 'hh: mm: AAAAMMDD ss.nnn'
'AAAA-MM-DDThh: mm: ss.nnn'
«AAAAMMDD»
'20140212 12: 30: 15,123'
"2014-02-12T12: 30: 15.123"
'20140212'
Smalldatetime "hh: mm" AAAAMMDD
'AAAA-MM-DDThh: mm'
«AAAAMMDD»
'20140212 doce y media de la noche'
"2014-02-12T12: 30 '
'20140212'
DATETIME2 'AAAA-MM-DD'
'Hh AAAAMMDD: mm: ss.nnnnnnn'
'AAAA-MM-DD HH: MM: ss.nnnnnnn'
'AAAA-MM-DDThh: mm: ss.nnnnnnn'
«AAAAMMDD»
'AAAA-MM-DD'
"02/12/2014"
'20140212 12: 30: 15.1234567'
'02/12/2014 12: 30: 15.1234567'
'2014-02-
12T12: 30: 15.1234567 '
'20140212'
"02/12/2014"
FECHA «AAAAMMDD»
'AAAA-MM-DD'
'20140212'
"02/12/2014"
TIEMPO 'hh: mm: ss.nnnnnnn' '12: 30: 15.1234567 '
DateTimeOffset 'hh: mm: AAAAMMDD ss.nnnnnnn [+ | -' 20140212 12: 30: 15.1234567
MCT USAR SOLAMENTE. ESTUDIANTE USO PROHIBIDO
Consulta Microsoft® SQL Server® 6-19
Formatos Tipo de datos Idioma-Neutral Ejemplos
] hh: mm '
'AAAA-MM-DD HH: MM: ss.nnnnnnn [+ | -
] hh: mm '
«AAAAMMDD»
'AAAA-MM-DD'
02: 00 '
'02/12/2014 12: 30: 15.1234567
02: 00 '
'20140212'
"02/12/2014"
Trabajo con fecha y hora por separado
Como usted ha aprendido, algunos SQL Server temporal
tipos de datos almacenan tanto la fecha y hora juntos en
un valor. DATETIME y DATETIME2 combinan
años, meses, días, horas, minutos, segundos, y
Más. DateTimeOffset también añade zona horaria
la información de la fecha y la hora. El tiempo y
componentes de la fecha son opcionales en combinación
tipos de datos como DATETIME2. Por lo tanto, cuando se usa
estos tipos de datos, es necesario ser conscientes de cómo
se comportan cuando se les proporciona solamente datos parciales:
 Si se proporciona sólo la fecha, la porción de tiempo
del tipo de datos se llena de ceros y el
se considera tiempo para estar a la medianoche.
Por ejemplo, la consulta:
DATETIME sin tiempo
DECLARAR COMODateOnly DATETIME = '20140212';
SELECTDateOnly COMO RESULTADO;
Devoluciones:
RESULTADO
-----------------------
02/12/2014 00: 00: 00,000
 Si no hay datos actualizada está disponible y lo que necesita para almacenar los datos de
tiempo en un tipo de datos de combinación, puede introducir
una "base" fecha del 1 de enero de 1900. Como alternativa, puede utilizar la función CAST ()
para convertir el tiempo
datos a un tipo de datos de combinación al introducir sólo el valor del tiempo. SQL Server
asumirá la base
fecha. No se permiten ceros explícitos para la parte de la fecha.
MCT USAR SOLAMENTE. ESTUDIANTE USO PROHIBIDO
6-20 Trabajar con el servidor 2014 tipos de datos SQL
Consulta de Valores de fecha y hora
Al consultar los tipos de datos de fecha y hora, es
importante saber si los datos de origen
incluye valores de tiempo que no sean ceros.
Si todos los valores de tiempo son de medianoche, consultas tales
como el siguiente funcionará como se espera:
Valores medianoche Tiempo
Idpedido SELECT, custid, empid, FechaPedido
DESDE Sales.Orders
DONDE OrderDate = '20070825'
Esta consulta devuelve:
idpedido custid empid OrderDate
----------- ----------- ----------- ----------------- ------
10 643 1 6 2007-08-25 00: 00: 00,000
10 644 88 3 2007-08-25 00: 00: 00,000
Tenga en cuenta que los valores de tiempo FechaPedido se ajustan a cero. Esto coincide con el
predicado de consulta, que también omite
tiempo, implícitamente pidiendo solamente para las filas a la medianoche.
Si sus datos incluyen valores de tiempo, tendrá que modificar la lógica para capturar los
valores de tiempo después de la medianoche.
Por ejemplo, si existían las siguientes filas en una tabla Orders2:
idpedido custid empid OrderDate
----------- ----------- ----------- ----------------- ------
10 643 1 6 2007-08-29 08: 30: 00,000
10 644 88 3 2007-08-29 11: 55: 00,000
La siguiente consulta sería un fracaso para seleccionarlos:
Vea el siguiente ejemplo:
Registros faltantes que incluyen Hora
Idpedido SELECT, empid, custid, FechaPedido
DESDE Orders2
DONDE OrderDate = '20070829'
Pero esta consulta sería recuperar correctamente las filas:
Vea el siguiente ejemplo:
Encontrar registros que incluyen Hora
Idpedido SELECT, empid, custid, FechaPedido
DESDE Orders2
DONDE OrderDate> = '20070829'
Nota: El ejemplo anterior se suministra sólo para ilustración y no se puede ejecutar como está
escrito en
las bases de datos de muestra suministrados con este curso.
Como resultado, usted tendrá que tener en cuenta el tiempo después de la medianoche para
las filas en las que hay valores almacenados en la
porción de tiempo de los tipos de datos de combinación.
Considere el uso de operadores de rango en su lugar:
MCT USAR SOLAMENTE. ESTUDIANTE USO PROHIBIDO
Consulta Microsoft® SQL Server® 21.6
Operadores Range
Idpedido SELECT, custid, empid, FechaPedido
DESDE Sales.Orders
DONDE OrderDate> = '20070825'

datos.

otro.

MCT USAR SOLAMENTE. ESTUDIANTE USO PROHIBIDO

En esta demostración, verá cómo:

Pasos de demostración

1. Asegúrese de que ha completado la demostración previa en este módulo. Alternativamente,


inicie el
Máquinas virtuales 20461C-MIA-CC y 20461C-MIA-SQL, ingrese a 20461C-MIA-SQL como
AdventureWorks \ Estudiante con la contraseña Pa $$ w0rd, y correr

2. Si SQL Server Management Studio no está abierto, iniciarlo y conectarse a la base de datos
MIA-SQL
instancia del motor mediante la autenticación de Windows y, a continuación, abra la solución
Demo.ssmssln en el

3. En el Explorador de soluciones, abra el 31 - archivo de script C.sql demostración.


4. Siga las instrucciones contenidas en los comentarios del archivo de comandos.
5. Cierre SQL Server Management Studio sin guardar los archivos.

También podría gustarte