chocolim.com

De nada un poco

rainbow

Posts Tagged ‘sql’

Ver version de SQL Server en un query

Para ver la version del servidor.

SELECT 'SQL Server ' 
+ CAST(SERVERPROPERTY('productversion') AS VARCHAR) + ' - ' 
+ CAST(SERVERPROPERTY('productlevel') AS VARCHAR) + ' (' 
+ CAST(SERVERPROPERTY('edition') AS VARCHAR) + ')'

Todos los clientes con el mismo zip code

Interesante self-join

SELECT c2.name
FROM customer c, customer c2
WHERE c.customer_id = 648 AND
c.zipcode = c2.zipcode;

Filas con 100%

Si una fila de tu tabla tiene un valor que incluya la frase 100% proceder asi:

SELECT * FROM tablename WHERE x LIKE '%100[%]%'

o

SELECT * FROM tablename WHERE x LIKE '%100\%%' ESCAPE '\'

EXECUTE permission denied on object sp_sdidebug, database master, owner dbo.

Este error choto(EXECUTE permission denied on object ‘sp_sdidebug’, database ‘master’, owner ‘dbo’.) se cura con:

GRANT EXECUTE ON sp_sdidebug TO 'username';

Obtener fechas en SQL Server

El primer dia del mes:

SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)

El Ultimo dia del mes:

SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate()  )+1, 0));


El Lunes de la semana actual:

SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)


Primer dia del año:

SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)

Ultimo dia del mes anterior:

SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()  ), 0));

Ultimo dia del año anterior:

SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate() ), 0))

Primer lunes del mes:

SELECT DATEADD(wk, DATEDIFF(wk,0,
dateadd(dd,6-datepart(day,getdate()),getdate())), 0);

Listas las tablas de una base de datos

En MS SQL Server para saber los nombres de las tablas necesite hacer lo siguiente:

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE'