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
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
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP