sql - example - cómo convertir datetime2 como datetime
ssis convert dt_wstr to dt_str (3)
Estás lanzando a timestamp
en tu código. Cambiar a datetime
SELECT CAST(offer_start_date AS datetime) FROM [ODS].[macaclient_offers]
Estoy tratando de convertir datetime2 a datetime para crear un estándar entre diferentes fuentes usando solo SQL o SSIS Tome la siguiente consulta SQL como ejemplo:
SELECT CAST(offer_start_date AS datetime)
FROM [ODS].[macaclient_offers]
Me aparece el siguiente error: ''La conversión explícita del tipo de datos datetime2 a timestamp no está permitida''.
Además, logré convertir datetime2 en una fecha usando un elenco simple.
¿Cuál es la forma correcta de convertir datetime2 a datetime usando SQL Server 2008 o SSIS?
Gilibi
La instrucción de selección de muestra está intentando convertir offer_start_date en timestamp not datetime.
Si desea un valor de marca de tiempo de su columna datetime2, puede usar la función DatePart para recuperar partes de la fecha y compilarla usted mismo.
Por ejemplo:
declare @date datetime2
set @date = GETUTCDATE()
select @date,
DATEPART(hour, @date),
DATEPART(minute, @date),
DATEPART(second, @date)
Referencia de MSDN a la función DatePart .
No estoy seguro de por qué está recibiendo ese error, no he tenido el mismo problema. El siguiente ejemplo funciona bien en mi 2008 Management Studio.
create table #temp
(
OrderId int,
OrderDate datetime2
)
insert into #temp
(OrderId, OrderDate)
values
(1, GetUTCDate())
select *, CAST(OrderDate as datetime)
from #temp
drop table #temp
OK, logré lograr eso usando un componente de conversión de datos SSIS. Descubrí que puedo usar DT_DBTIME2 o DT_DBTIME
Gracias a todos los que ayudaron