Ordenar en SQL Server las vistas por fecha de creación o modificación. También sirve para tablas o procedimientos.

Si necesitamos saber cuales han sido las ultimas vistas creadas, o creadas en un fecha concreta podemos usar esta consulta. Si ponemos U es para tablas, V para vistas.

SELECT name, create_date, modify_date
FROM sys.objects
WHERE type = 'V'
ORDER BY create_date desc
SELECT name, create_date, modify_date
FROM sys.objects
WHERE type = 'V'
AND create_date > '05/10/2020' AND create_date < '05/10/2020 23:59:59'

Publicado en SQL Server 2008 | Deja un comentario

Buscar tildes en Sql Server

Si se quiere buscar si el nombre o los apellidos que hay guardados en una tabla llevan tilde, se puede usar esta query.

select * from Personas
WHERE nombre LIKE '%[àáâä]%' OR nombre LIKE '%[èéêë]%' OR nombre LIKE '%[ìíîï]%' OR nombre LIKE '%[òóôö]%' OR nombre LIKE '%[ùúûü]%'  OR 
ape1 LIKE '%[àáâä]%' OR ape1 LIKE '%[èéêë]%' OR ape1 LIKE '%[ìíîï]%' OR ape1 LIKE '%[òóôö]%' OR ape1 LIKE '%[ùúûü]%'  OR 
ape2 LIKE '%[àáâä]%' OR ape2 LIKE '%[èéêë]%' OR ape2 LIKE '%[ìíîï]%' OR ape2 LIKE '%[òóôö]%' OR ape2 LIKE '%[ùúûü]%'  

Publicado en SQL Server 2008 | Deja un comentario

Eliminar el highlight del día actual en el calendario datepicker

Para poder eliminar el color amarillo fluorescente del día current actual del calendario jquery datepicker podemos usar este código:

  $("#inputdatepciker").datepicker({
                showOn: "button",
                buttonImage: "imagenes/horario.gif",
                buttonImageOnly: true,
                firstDay: 1,
                beforeShow: function (input, inst) {
                    setTimeout(function () {
                        inst.dpDiv.find('a.ui-state-highlight').removeClass('ui-state-highlight');
                    }, 100);
                }
            }).datepicker("setDate", "06/06/2020");
      

Es muy importante que en el html el elemento inputdatepciker sea del tipo input.

<input type='text' id='inputdatepciker" + fecha + "' style='display:none'>

Podemos tambien quitar los iconos del mes anterior y el mes siguiente

 beforeShow: function (input, inst) {
                    //Para quitar el amarillo del día actual y los botones del siguiente mes
                    setTimeout(function () {
                        inst.dpDiv.find('a.ui-state-highlight').removeClass('ui-state-highlight');
                        $(".ui-datepicker-next").hide();
                        $(".ui-datepicker-prev").hide();
                    }, 100);
                },

Y podemos tambien evitar que hagan click en el calendario

onSelect: function(dateText, inst) {
                    //Para no dejar que pinchen en el calendario
                    inst.show()
                }

Saludos

Publicado en html, JavaScript, Jquery | Deja un comentario

Monitorizar el disco duro y avisar por email si hay poco espacio libre

Hola,
A veces nos gustaría que un proceso nos avisara de que hay poco espacio libre en un disco duro antes de quedarnos sin el y que fallen las copias de seguridad.
He conseguido crear un script basado en el powershell de windows ( debéis tenerlo instalado ) para que un proceso compruebe todos los días el espacio libre en disco y nos
envíe un correo / email a nuestra cuenta si el espacio libre es menor de 5 gb.

Pasos a seguir:
1) El sistema operativo tiene que tener instalado el powershell
2) Hay que habilitar la ejecución de comandos. Abrimos el powershell y ejecutamos: powershell Set-ExecutionPolicy Unrestricted
3) Creamos un fichero con extensión .ps1 y escribimos este código

$DiskReport = ForEach ($Servernames in ('localhost'))
{Get-WmiObject win32_logicaldisk -ComputerName $Servernames -Filter "Drivetype=3" -ErrorAction SilentlyContinue |
#Devuelve las unidades que tienen de espacio menos de 5GB
Where-Object { ($_.freespace/ 1gb) -le '5'}
}

#create reports
$texto = $DiskReport |
Select-Object @{Label = "Server Name";Expression = {$_.SystemName}},
@{Label = "Drive Letter";Expression = {$_.DeviceID}},
@{Label = "Total Capacity (GB)";Expression = {"{0:N1}" -f( $_.Size / 1gb)}},
@{Label = "Free Space (GB)";Expression = {"{0:N1}" -f( $_.Freespace / 1gb ) }},
@{Label = 'Free Space (%)'; Expression = {"{0:P0}" -f ($_.freespace/$_.size)}} |
Out-String
$time = Get-Date -DisplayHint Time
$from = "soporte@uva.es"
$to = "soporte@uva.es"
$subject = "--- Poco sitio en discos ---"
$smtpserver = "cartero.es"
$user="usuario1"
$passwd = ConvertTo-SecureString "pass1" -AsPlainText -Force
$credenciales= New-Object System.Management.Automation.PSCredential ($user,$passwd)
foreach ($recipient in $to) {
if ($texto){
Send-MailMessage -smtpServer $smtpserver -from $from -to $recipient -subject $subject -body $texto -credential $credenciales
}
}

4) Cambiamos los parametros del smtpserver, usuario y pass del servidor de correo para usar los vuestros.
5) Creamos una tarea programada donde cada día a la hora que queráis ejecute la siguiente sentencia: powershell "c:\comprobar_espacio_discos.ps1"

Y eso es todo.
Saludos.

Publicado en cmd, shell scripts, Sistemas operativos | Deja un comentario

Crear una rama nueva para subir los cambios locales del IntelliJ

Si estamos desarrollando el proyecto, y de repente tenemos cambios que no sabemos si queremos o no subir a la rama principal, lo que podemos hacer es crear una rama nueva para subir estos cambios locales.
Pasos:
– Copia de seguridad del proyecto por si acaso.
– En el explorador de windows, ir al proyecto y en el menú del cvs hacer un create branch.
– Ir al IntelliJ que tiene los cambios locales, y hacer un update pero en usando la segunda
opción que pone ‘ -by tag’ y le seleccionamos la rama que acabamos de crear.
– Después ya podemos hacer un commit porque ya estamos en la rama que acabamos de crear.

Bye

Publicado en cvs | Deja un comentario

Buscar en todas las bases de datos de la instancia a la vez

Si queremos buscar a ver si existe un cierto nif en la tabla de profesores de todas las bases de datos
de la instancia podemos usar

--Para buscar un nif en la tabla de profesores en todas las bases de datos
exec sp_msforeachdb 'use ?;
if db_name() like ''POD%''
begin
DECLARE @sql NVARCHAR(4000)
set @sql = "select * from profesores where nif=''12345678Z''"
Execute sp_executesql @sql
end '

Aqui sólo buscará en las bases de datos que empiece su nombre por POD*

Publicado en SQL Server 2008 | Deja un comentario

Se pierden los eventos de escucha cuando vuelvo del Jquery. Rebind

Es posible que si tenemos en el jsp una función $(function(){} que pone los escuchadores a los elementos
de la página web, al ejecutar algún action cuando volvemos se pierden los escuchadores del bind(‘click’).

Lo que tenemos que hacer, es cambiar ese ‘bind’ por ‘live’ que aunque está deprecated, para nuestra version del jquery si que funiona.


$('li img[id^=borrar]').live('click', function() {

Así ponemos a todas las imagenes que tengan como identificador que empiece por ‘borrar’ que están en un

  • un evento ‘click’ para las sucesivas llamadas al Jquery

  • Publicado en Jquery | Deja un comentario

    Marcar un radiobutton como seleccionado desde jquery

    Si queremos poner una opción de un radiobutton desde un query lo que tenemos que hacer es:

    var oblig = $('input:radio[name=obligatorio]');
    oblig.filter('[value=1]').attr('checked', true);

    Es como hacer un set checked

    Publicado en Jquery | Deja un comentario

    Buscar comillas simples en una cadena con like

    Para buscar unas comillas simples en algún campo de la tabla para ver si hay apellidos como o’neil, o’rreally tenemos que usar

    WHERE apellido LIKE '%''%'

    Lo deletreo por si acaso: comilla simple, tanto porciento, comilla simple, comilla simple, tanto porciento,comilla simple

    Publicado en SQL Server 2008 | 3 comentarios

    Como evitar la tecla ‘enter’ para enviar un formulario

    Normalmente si pulsamos la tecla ‘enter’ en un formulario este se envía al servidor,
    para evitar esto lo que tenemos que hacer es cambiar el tipo del botón de envío
    de tipo ‘submit’ a tipo ‘button’ y ponerle un javascript para que lo envíe.

    antes
    input type="submit" value="Grabar"

    despues
    input type="button" value="Grabar" onclick="document.forms[0].submit();"

    He descubierto hoy que si el formulario tiene sólo un campo de tipo texto, al dar al enter (está definido así) enviará el formulario al servidor sin remedio, tenéis que controlarlo en servidor 🙁

    Publicado en html | 2 comentarios