on 04-05-2016 11:03 PM
Buen día expertos!
Quero cambiar la forma de presentar el campo CreateTS para poder convertir la hora de 170117 a 17:01:17.
Yo tenía un query, que según yo lo hacía, pero lo estoy ejecutando desde el query manager y algo nada mal.
Alguien tiene un query que haga eso, que me lo pueda compartir, o ayudarme a saber que puede estar mal en el que tengo?
SELECT ((case when LEN(convert (varchar,t0.DocTime,110))=3 then ('0'+ substring (convert (varchar,T0.DocTime,110),1,1))
else substring (convert (varchar,T0.DocTime,110),1,2) end) +':'+
(case when LEN(convert (varchar,T0.DocTime,110))=3 then ('0'+ substring (convert (varchar,T0.DocTime,110),3,2))
else substring (convert (varchar,T0.DocTime,110),3,2) end) +(SUBSTRING(convert(varchar, T0.CreateTS,110),5,2))) as Tiempo
FROM OINV T0
Saludos y de antemano, Gracias!
Hola
prueba esta query:
SELECT t0.DocTime, T0.CreateTS, ((case when LEN(convert (varchar,t0.CreateTS,110))=3
then ('0'+ substring (convert (varchar,T0.CreateTS,110),1,1))
else substring (convert (varchar,T0.CreateTS,110),1,2) end) +':'+
(case when LEN(convert (varchar,T0.CreateTS,110))=3
then ('0'+ substring (convert (varchar,T0.CreateTS,110),3,2))
else substring (convert (varchar,T0.CreateTS,110),3,2) end) +':'+
(SUBSTRING(convert(varchar, T0.CreateTS,110),5,2))) as Tiempo FROM OINV T0
Un saludo
Agustín Marcos Cividanes
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Que tal Agustin!
Muchas gracias por tu respuesta.
Ese que me mandaste funcion muy bien, de las 10:00:00 a las 12:59:59
Es decir cuando el campo CreateTS tiene 6 digitos.
Pero a partir de la 1:00:00 y hasta las 9:59:59 ya no funciona, porque tiene 5 digitos ejemplo:
9:59:59 esta apareciendo así --> 95:95:9
Saludos!
Hola
prueba esta query:
SELECT t0.DocTime, T0.CreateTS, ((case when LEN(convert (varchar,t0.CreateTS,110))=5 then ('0'+ substring (convert (varchar,T0.CreateTS,110),1,1)) else substring (convert (varchar,T0.CreateTS,110),1,2) end) +':'+ SUBSTRING(convert(varchar, T0.CreateTS,110),2,2) +':'+ SUBSTRING(convert(varchar, T0.CreateTS,110),4,2)) as Tiempo FROM OINV T0
Sobraba el CASE en el procesamiento de los minutos. Te dejo los dos campos por delante para que compruebes.
Un saludo
Agustín Marcos Cividanes
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hola Nando Cotrina,
La versión en inglés está debajo
Gracias por visitar SAP Community para obtener respuestas a sus
preguntas. Como es la primera vez que hace una pregunta aquí, tenga en cuenta que:
Está agregando un comentario a una publicación anterior que probablemente no obtendrá una respuesta.
Sugiero comenzar una nueva pregunta y seguir estas pautas:
Le recomiendo que se familiarice con: https://community.sap.com/resources/questions-and-answers, ya que brinda sugerencias para preparar preguntas que obtienen respuestas de nuestros miembros.
Por ejemplo, puedes:
- describa qué pasos tomó para encontrar respuestas (y por qué no fueron útiles)
- comparte capturas de pantalla de lo que has visto/hecho
- asegúrese de haber aplicado las etiquetas adecuadas
Cuantos más detalles proporcione, más probable es que los miembros puedan responder. Siéntase libre de tomar también nuestro tutorial de preguntas y respuestas en: https://developers.sap.com/tutorials/community-qa.html
Si lo desea, puede revisar su pregunta seleccionando Acciones y luego Editar.
Si está interesado en conectarse con miembros de la comunidad, visite nuestro nuevo hilo Rincón de bienvenida con consejos de nuestros campeones. Deberá registrarse, ¡pero es una excelente manera de interactuar con sus compañeros y conocer a otros expertos!
Al agregar una imagen a su perfil, anima a los lectores a responder: https://developers.sap.com/tutorials/community-profile.html
Saludos,
dedi
Hi Nando Cotrina,
Thank you for visiting SAP Community to get answers to your
questions. Since you're asking a question here for the first time please note that:
You are adding a comment to an old post that is not likely to get an answer.
I suggest starting a new question and following these guidelines:
I recommend that you familiarize yourself with: https://community.sap.com/resources/questions-and-answers, as it provides tips for preparing questions that draw responses from our members.
For example, you can:
- outline what steps you took to find answers (and why they weren't helpful)
- share screenshots of what you've seen/done
- make sure you've applied the appropriate tags
The more details you provide, the more likely it is that members will be able to respond. Feel free to also take our Q&A tutorial at: https://developers.sap.com/tutorials/community-qa.html
Should you wish, you can revise your question by selecting Actions, then Edit.
if you're interested in connecting with community members, please pay a visit to our new Welcome Corner thread with advice from our champions. You'll need to sign up, but it's a great way to interact with peers and get to know other experts!
By adding a picture to your profile you encourage readers to respond: https://developers.sap.com/tutorials/community-profile.html
Regards,
Dedi
Mira yo uso esta conversión en los informes de Crystal Reports.
CONVERT (VARCHAR(10), GETDATE(), 103) AS 'Fecha',
Seguramente no te sea de ayuda pero es lo que yo usé en su día y me fue muy bien.
Con el código 103, se puede conseguir, Adjunto tabla (Extraida de Microsoft). Si no se puede hacer esto, disculpar.
Espero que sea de ayuda.
Sin el siglo (aa) (1) | Con el siglo (aaaa) | Estándar | Entrada/salida (3) | ||
---|---|---|---|---|---|
- | 0 o 100 (1,2) | Predeterminado | mes dd aaaa hh:mia.m. (o p.m.) | ||
1 | 101 | EE. UU. | 1 = mm/dd/aa 101 = mm/dd/aaaa | ||
2 | 102 | ANSI | 2 = aa.mm.dd 102 = aaaa.mm.dd | ||
3 | 103 | Británico/Francés | 3 = dd/mm/aa 103 = dd/mm/aaaa | ||
4 | 104 | Alemán | 4 = dd.mm.aa 104 = dd.mm.aaaa | ||
5 | 105 | Italiano | 5 = dd-mm-aa 105 = dd-mm-aaaa | ||
6 | 106 (1) | - | 6 = dd mes aa 106 = dd mes aaaa | ||
7 | 107 (1) | - | 7 = Mes dd, aa 107 = Mes dd, aaaa | ||
8 | 108 | - | hh:mi:ss | ||
- | 9 ó 109 (1,2) | Valor predeterminado + milisegundos | mes dd aaaa hh:mi:ss:mmma.m. (o p.m.) | ||
10 | 110 | EE. UU. | 10 = mm-dd-aa 110 = mm-dd-aaaa | ||
11 | 111 | JAPÓN | 11 = aa/mm/dd 111 = aaaa/mm/dd | ||
12 | 112 | ISO | 12 = aammdd 112 = aaaammdd | ||
- | 13 o 113 (1,2) | Europeo predeterminado + milisegundos | dd mes aaaa hh:mi:ss:mmm(24h) | ||
14 | 114 | - | hh:mi:ss:mmm(24h) | ||
- | 20 ó 120 (2) | ODBC canónico | aaaa-mm-dd hh:mi:ss(24h) | ||
- | 21 ó 121 (2) | ODBC canónico (con milisegundos) | aaaa-mm-dd hh:mi:ss.mmm(24h) | ||
- | 126 (4) | ISO8601 | aaaa-mm-ddThh:mi:ss.mmm (sin espacios)
| ||
- | 127(6, 7) | ISO8601 con zona horaria Z. | aaaa-mm-ddThh:mi:ss.mmmZ (sin espacios)
| ||
- | 130 (1,2) | Hijri (5) | dd mes aaaa hh:mi:ss:mmma.m. En este estilo, mes es una representación Unicode Hijri multitoken del nombre completo del mes. Este valor no se representará correctamente en una instalación estadounidense predeterminada de SSMS. | ||
- | 131 (2) | Hijri (5) | dd/mm/aaaa hh:mi:ss:mmma.m. |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
El GetDate( ) creo que devuelve la marca de tiempo del sistema de base de datos actual como un valor datetime sin el ajuste de zona horaria de la base de datos. Este valor se deriva del sistema operativo del equipo donde la instancia de SQL Server se está ejecutando.
Extraído de Microsoft.
Ya digo que no soy ningún experto, pero en todo lo que pueda echaré una mano.
User | Count |
---|---|
98 | |
11 | |
11 | |
6 | |
6 | |
4 | |
4 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.