DATETIME
Tipo de Dato DATE
DATE : Solo almacena Fecha
Rango: 0001-01-01 a 9999-12-31
Precision : 1 Dia
Tipo de Datos TIME
TIME: Solo almacena Hora
Rango: 00:00:00.0000000 hasta 23:59:59.9999999
Precision: 0 a 7 puntos decimales, mas de 100 nano segundos
No almacena Zonas Horarias.
Tipo de Datos DATETIME2
Combina lo mejor de DATETIME, DATE y TIME
Rango: 0001-01-01 00:00:00.0000000 a 9999-12-31 23:59:59.9999999
Precision: 100 nanosegundos, mas de 7 puntos decimales
No almacena Zonas Horarias.
Tipo de Datos DATETIMEOFFSET
Es un DATETIME2 con suporte de Zonas Horarias
SPATIAL DATA
Nuevo tipo de datos para almacenar y manipular datos espaciales.
Tipo de Datos Geometry spatial
Representa información en un plano, en un sistema cartesiano de 2 dimensiones.
Excelente para representar puntos en pequeños espacios: Hoja de Papel, Mapa de la Ciudad.
Tipo de Datos Geography spatial
Representa localidades en la tierra, en esferas elípticas.
Usa un sistema de coordenadas de 2 dimensiones, con matemática compleja.
Representacion de Datos
PUNTO POINT (5 15)
LINEA LINESTRING(5 15, 22 10)
POLIGONO POLYGON((0 0, 0 4, 6 4, 6 0, 3 2, 0 0))
Descargar Spatial Viewer para crear nuestros propios objetos y visualizarlos.
http://spatialviewer.codeplex.com/
Ejemplos:
DECLARE @linea Geometry
SET @linea = Geometry::STGeomFromText('LINESTRING(5 15, 22 5)', 0)
-- SEGUNDO PARAMETRO es Spatial Reference ID (SRID)
SELECT @linea
-- OTRO METODO CON IGUAl RESULTADO
DECLARE @linea Geometry
SET @linea = Geometry::STLineFromText('LINESTRING(5 15, 22 10)', 0)
SELECT @linea
-- NOS DARA UN ERROR por EL TIPO DE METODO Y EL OBJETO QUE QUEREMOS CREAR
DECLARE @linea Geometry
SET @linea = Geometry::STLineFromText('POINT(10 100)', 0)
-- TAMBIEN PODEMOS HACER ESTO
DECLARE @linea Geometry
SET @linea = Geometry::Parse('LINESTRING(5 15, 22 10)')
SELECT @linea
SET @linea = 'LINESTRING(5 15, 22 10)' -- invokes the Parse method
SELECT @linea
-- TOSTRING NOS DARA LA DEFINICION DEL PUNTO
DECLARE @linea Geometry
SET @linea = Geometry::STGeomFromText('LINESTRING(5 15, 22 10)', 0)
SELECT @linea.ToString()
-- RETORNAR INFORMACION DE LONGITUD DE VARIOS OBJETOS
DECLARE @linea Geometry, @punto Geometry, @poly Geometry
SET @linea = Geometry::STGeomFromText('LINESTRING(5 15, 22 10)', 0)
SET @punto = Geometry::STPointFromText('POINT(5 15)', 0)
SET @poly = Geometry::STPolyFromText('POLYGON((0 0, 0 4, 6 4, 6 0, 3 2, 0 0))', 0)
SELECT @linea.STLength() AS LineLongitud,
@punto.STLength() AS PointLongitud,
@poly.STLength() AS PolyLongitud
GO
HierarchyID
Tipo de datos que nos permite administrar jerarquías.
1. GetAncestor, recibe un entero que permite buscar el ancestro n de un nodo hijo.
2. GetDescendant, devuelve un nodo hijo que es descendiente de su padre.
3. GetLevel , indica el nivel del nodo corriente
4. GetRoot , devuelve el nodo raíz del árbol jerárquico
5. IsDescendantOf, devuelve verdadero o falso dependiendo de si el nodo es un descendiente de su padre
6. Parse, convierte una representación de texto canónica en un HiearchyID
7. Read, interpreta una representación binaria de un HiearchyID
8. Reparent, permite asignar un nuevo padre a un nodo hijo
9. ToString, devuelve una cadena de texto que representa un HierarchyID
10. Write, escribe un HiearchyId en un binario
2. GetDescendant, devuelve un nodo hijo que es descendiente de su padre.
3. GetLevel , indica el nivel del nodo corriente
4. GetRoot , devuelve el nodo raíz del árbol jerárquico
5. IsDescendantOf, devuelve verdadero o falso dependiendo de si el nodo es un descendiente de su padre
6. Parse, convierte una representación de texto canónica en un HiearchyID
7. Read, interpreta una representación binaria de un HiearchyID
8. Reparent, permite asignar un nuevo padre a un nodo hijo
9. ToString, devuelve una cadena de texto que representa un HierarchyID
10. Write, escribe un HiearchyId en un binario
Ver ejercicio
No hay comentarios:
Publicar un comentario