Formato de Fecha Hora:minuto a.m. o Hora:minuto p.m.

17/06/2008 - 22:44 por Jorge | Informe spam
Buenas tardes.
estoy tratando de buscar la manera de imprimir la hora en el formato
hora:minuto a.m. o hora:minuto p.m.

ejemplo
9:00 a.m.
11:00 p.m.

el "a.m." o "p.m." son necesario no tengo accesso al codigo de otro modo
podria tratar a traves de la aplicacion
Actualmente hemos logrado esto
select

(CASE ISNULL(CONVERT(VARCHAR, getdate(), 107), '')

WHEN '' THEN 'N/A' WHEN '01/01/1900' THEN 'N/A' ELSE
LTRIM(SUBSTRING(CONVERT(VARCHAR(20), getdate(), 22), 10,

5) + RIGHT(CONVERT(VARCHAR(20), getdate(), 22), 3)) END) AS SettingTime3

que me da 2:43 PM pero el bendito usuario quiere que aparezca en minusculas
2:43 p.m. y con los puntitos...

gracias de nuevo

Preguntas similare

Leer las respuestas

#1 Sergio E.
18/06/2008 - 01:05 | Informe spam
utiliza la funcion DATEPART para obtener los elementos de la fecha y hora
para armar la cadena pedazo a pedazo..., y lo combinas con un case hora>
then "p.m." else "a.m." end


deja busco un ejemplo de algo asi que tengo...

Saludos
Sergio E.

"Jorge" escribió en el mensaje
news:4858225c$0$4263$
Buenas tardes.
estoy tratando de buscar la manera de imprimir la hora en el formato
hora:minuto a.m. o hora:minuto p.m.

ejemplo
9:00 a.m.
11:00 p.m.

el "a.m." o "p.m." son necesario no tengo accesso al codigo de otro modo
podria tratar a traves de la aplicacion
Actualmente hemos logrado esto
select

(CASE ISNULL(CONVERT(VARCHAR, getdate(), 107), '')

WHEN '' THEN 'N/A' WHEN '01/01/1900' THEN 'N/A' ELSE
LTRIM(SUBSTRING(CONVERT(VARCHAR(20), getdate(), 22), 10,

5) + RIGHT(CONVERT(VARCHAR(20), getdate(), 22), 3)) END) AS SettingTime3

que me da 2:43 PM pero el bendito usuario quiere que aparezca en
minusculas 2:43 p.m. y con los puntitos...

gracias de nuevo

Respuesta Responder a este mensaje
#2 Alejandro Mesa
18/06/2008 - 01:38 | Informe spam
Jorge,

Usa la funcion "replace", aplicada al resultado final de tu expresion.

Ejemplo:

SELECT
REPLACE(REPLACE(RIGHT(CONVERT(VARCHAR(25), GETDATE(), 100), 7), 'AM', '
a.m.'), 'PM', ' p.m.')
GO

AMB

"Jorge" wrote:

Buenas tardes.
estoy tratando de buscar la manera de imprimir la hora en el formato
hora:minuto a.m. o hora:minuto p.m.

ejemplo
9:00 a.m.
11:00 p.m.

el "a.m." o "p.m." son necesario no tengo accesso al codigo de otro modo
podria tratar a traves de la aplicacion
Actualmente hemos logrado esto
select

(CASE ISNULL(CONVERT(VARCHAR, getdate(), 107), '')

WHEN '' THEN 'N/A' WHEN '01/01/1900' THEN 'N/A' ELSE
LTRIM(SUBSTRING(CONVERT(VARCHAR(20), getdate(), 22), 10,

5) + RIGHT(CONVERT(VARCHAR(20), getdate(), 22), 3)) END) AS SettingTime3

que me da 2:43 PM pero el bendito usuario quiere que aparezca en minusculas
2:43 p.m. y con los puntitos...

gracias de nuevo



Respuesta Responder a este mensaje
#3 Leonardo Azpurua
18/06/2008 - 06:12 | Informe spam
"Jorge" escribió en el mensaje
news:4858225c$0$4263$
Buenas tardes.
estoy tratando de buscar la manera de imprimir la hora en el formato
hora:minuto a.m. o hora:minuto p.m.

ejemplo
9:00 a.m.
11:00 p.m.

el "a.m." o "p.m." son necesario no tengo accesso al codigo de otro modo
podria tratar a traves de la aplicacion
Actualmente hemos logrado esto
select

(CASE ISNULL(CONVERT(VARCHAR, getdate(), 107), '')

WHEN '' THEN 'N/A' WHEN '01/01/1900' THEN 'N/A' ELSE
LTRIM(SUBSTRING(CONVERT(VARCHAR(20), getdate(), 22), 10,

5) + RIGHT(CONVERT(VARCHAR(20), getdate(), 22), 3)) END) AS SettingTime3

que me da 2:43 PM pero el bendito usuario quiere que aparezca en
minusculas 2:43 p.m. y con los puntitos...

gracias de nuevo



Hola, Jorge:

Dices que "podrías tratar a través de la aplicación", y creo que sería lo
más correcto.

Tienes *un* servidor SQL, atendiendo todas las solicitudes de varias PCs
cuya capacidad de procesamiento debe ser poco menos que equivalente a la del
servidor, y esas PCs se sientan sobre sus traseros gordos a esperar que el
servidor lo haga todo.

Creo que la esencia del "procesamiento distribuido" se ha desvirtuado, y que
cada vez se requieren servidores más potentes para hacer lo que deberían
hacer los equipos clientes (por alguna razón incomprensible, que ya
entenderán los genios del mercadeo, "distribuido" se ha convertido en
sinónimo de "centralizado en un servidor").

Si puedes ponerlo en la aplicacion (con
AlgunaFecha.ToString(cadenaDeFormato), o Format(algunaFecha,
cadenaDeFormato), o vaya Ud. a saber como se escribe en el lenguaje de tu
preferencia, o especificando algo en el formato de la columna del reporte)
no tiene sentido que recargues al servidor con tareas que no debían
corresponderle, ni que conviertas un simple SELECT en una instrucción que
requiere cuatro lineas largas solo para presentar una fecha,
intransportable -además- a cualquier otro proveedor de datos (un axioma
esencial del desarrollo es "nunca se sabe qué pasará más adelante").

Al final gastamos una buena plata en equipos potentes para las estaciones de
trabajo, y cuando llegamos a nuestras aplicaciones cada vez se parecen más a
los esquemas originales del time-sharing.


Salud!
Respuesta Responder a este mensaje
#4 Pablo Roca
18/06/2008 - 16:18 | Informe spam
"Leonardo Azpurua" <l e o n a r d o [arroba] m v p s [punto] o r g>
escribió
Dices que "podrías tratar a través de la aplicación", y creo que sería lo
más correcto.



Estoy de acuerdo contigo Leonardo.

La base de datos debe dar el dato y el formateo es mas normal hacerlo en el
cliente.


Saludos,

Pablo Roca
La Coruna - Spain
http://www.portalfox.com
Respuesta Responder a este mensaje
#5 Leonardo Azpurua
18/06/2008 - 17:08 | Informe spam
"Pablo Roca" escribió en el mensaje
news:
>"Leonardo Azpurua" <l e o n a r d o [arroba] m v p s [punto] o r g>
>escribió
Dices que "podrías tratar a través de la aplicación", y creo que sería lo
más correcto.



Estoy de acuerdo contigo Leonardo.

La base de datos debe dar el dato y el formateo es mas normal hacerlo en
el cliente.



El "discurso" es de lo más correcto.

Mi error está en que lo que dice Jorge es exactamente lo contrario: no puede
modificar la aplicación.

Cada día entiendo menos :)

Salud!
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida