viernes, 5 de febrero de 2010
SQL Server: Limitando el numero de registros
En una consulta Oracle, cuando se quiere reducir el número de registros en una consulta se usa la sentencia:
esto reduce el resultado a un número máximo de 10 registros.
En MySQL la solución similar sería con un
en Sql Server encontré 2 soluciones:
1) Al principio del select
2) en un seteo previo a la consulta
para volver el seteo a la normalidad
Publicadas por
Tito
a las
10:23
0
comentarios
Etiquetas: Oracle, Soluciones, SQL Server
viernes, 11 de diciembre de 2009
SQL Server: Tipos de datos enteros
Para identificar un campo entero de una tabla, en MS SQL Server existen estos 4 tipos de datos:
| Tipo de datos | Intervalo | Almacenamiento |
|---|---|---|
| bigint | De -2^63 (-9.223.372.036.854.775.808) a 2^63-1 (9.223.372.036.854.775.807) | 8 bytes |
| int | De -2^31 (-2.147.483.648) a 2^31-1 (2.147.483.647) | 4 bytes |
| smallint | De -2^15 (-32.768) a 2^15-1 (32.767) | 2 bytes |
| tinyint | De 0 a 255 | 1 byte |
Fuente: http://technet.microsoft.com/es-es/library/ms187745.aspx
Publicadas por
Tito
a las
15:22
1 comentarios
Etiquetas: Soluciones, SQL Server
lunes, 30 de noviembre de 2009
SQL Server: ntext
Tipos de Datos
ntext
Datos Unicode de longitud variable con una longitud máxima de 2^30 - 1 (1.073.741.823) caracteres. El tamaño del almacenamiento, en bytes, es dos veces el número de caracteres especificado. El sinónimo de ISO para ntext es national text.
text
Datos no Unicode de longitud variable de la página de códigos del servidor y con una longitud máxima de 2^31-1 (2.147.483.647) caracteres. Cuando la página de códigos del servidor utiliza caracteres de doble byte, el almacenamiento sigue siendo de 2.147.483.647 bytes. Dependiendo de la cadena de caracteres, el espacio de almacenamiento puede ser inferior a 2.147.483.647 bytes.
Los tipos de datos ntext, text e image se quitarán en una versión futura de SQL Server.
Microsoft sugiere evitar su uso en nuevos trabajos de desarrollo.
http://msdn.microsoft.com/es-es/library/ms187993.aspx
Me encontré con unos de estos datos en una migración y no podía hacer comparaciones del tipo <> por no ser compatible con el tipo de dato ntext (en este caso el campo nm_observacion):
select rtrim(ltrim(nm_observacion))
,fc_recepcion
from db_SNP_RNASQL.dbo.cc_recepcion
where rtrim(ltrim(nm_observacion)) is not null
and rtrim(ltrim(nm_observacion)) <> ''
Tampoco podía calcular el largo de los datos para ver su tamaño y cambiar a un varchar con tranquilidad
No servía el len():
select max(len(nm_observacion))
from db_SNP_RNASQL.dbo.cc_recepcion
por lo que fue necesario ocupar la función DATALENGTH():
select max(DATALENGTH(nm_observacion))
from db_SNP_RNASQL.dbo.cc_recepcion
Fuente: http://www.mssqltips.com/tip.asp?tip=1188
Publicadas por
Tito
a las
12:53
0
comentarios
Etiquetas: Soluciones, SQL Server
viernes, 27 de noviembre de 2009
El DECODE en SQL Server
En Oracle existe la funcion DECODE que permite evaluar un valor para seleccionar otro.
select decode(v_mes, 1, 'Enero', 2, 'Febrero', 'Otro')
into v_valor
from dual
En SQL Server, el simil se hace con un CASE, asi:
select @v_valor = case @v_mes
when 1 then 'Enero'
when 2 then 'Febrero'
else 'Otro'
end;
Publicadas por
Tito
a las
15:34
0
comentarios
Etiquetas: Oracle, Soluciones, SQL Server