TransWikia.com

Mostrar solo los últimos dos números del año

Stack Overflow en español Asked by Franqo Balsamo on November 10, 2021

Quisiera saber cómo hago una consulta en SQL Server para mostrar solo los últimos dígitos del año.

La consulta a la tabla para ver el año sería:

SELECT ano_vigencia FROM tabla WHERE codigo = 1

Esto me traería como resultado:

1 - 2020
2 - 2018 
3 - 2017 

Pero yo quiero que se vean solo los últimos dos dígitos:

1 - 20 
2 - 18 
3 - 17

¿Cómo sería la consulta? Porque intenté esto:

SELECT Right(Cast(Year(tabla.ano_vigencia) As int),2) AS Año, ano_vigencia
FROM tabla WHERE codigo = 1

Pero el resultado fue el siguiente:

Año | ano_vigencia
05  | 2018

2 Answers

Una opcion es que al cast de tu año lo conviertas a char(4) para despues se obtenga parte de la subcadena de 2 digitos.

Ejemplo:

SELECT Right(Cast(Year(getdate()) As Char(4)),2)

tambien se puede aplicar directo el valor

SELECT Right(2020,2) en tu caso  SELECT Right(ano_vigencia,2)

Answered by jcHernande2 on November 10, 2021

Dado que el dato almacenado es entero, para obtener los últimos dos dígitos puedes aplicar el operador módulo % por cien.

select ano_vigencia%100 [año]
  from MiTabla

El operador módulo te devuelve el residuo de una división de enteros.

En 2018 dividido 100, el cociente es 20 (el resultado de la división) y el residuo es 18, que es la diferencia de 2018 - (20*100).

Answered by jachguate on November 10, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP