热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何从SQLSSIS中删除日期时间字符串的日期?-HowdoIstripthedateoffofadatetimestringinSQLSSIS?

Imworkingonadatawarehouseprojectandwouldliketoknowhowto(preferablyinaDerivedColum

I'm working on a data warehouse project and would like to know how to (preferably in a Derived Column component in a Data flow) strip the date piece off of a SQL datetime record.

我正在开发一个数据仓库项目,并想知道如何(最好是在数据流中的Derived Column组件中)从SQL datetime记录中剥离日期。

Once I have the datetime converted to just a time I am going to do a lookup on the time to find the related time record in a time dimension table.

一旦我将日期时间转换为一段时间,我将在时间维度表中查找相关时间记录的时间。

Can someone give me a simple function to accomplish this inside a derived column transform?

有人能给我一个简单的函数来完成派生列转换中的这个吗?

Example: Transform a datetime such as "12/02/2008 11:32:21 AM" into simply "11:32:21 AM".

示例:将日期时间(例如“12/02/2008 11:32:21 AM”)转换为“11:32:21 AM”。

5 个解决方案

#1


I would just do a cast to DT_DBTIME type (using Derived Column transform, or Convert type transform). DT_DBTIME contains just (hours, minutes, seconds) part of the date/time, so you'll get rid of the date part.

我只是对DT_DBTIME类型进行强制转换(使用派生列转换或转换类型转换)。 DT_DBTIME只包含(小时,分钟,秒)日期/时间的一部分,因此您将摆脱日期部分。

#2


If you need to do this in a variable expression Michael's solution won't work, but you can use the following expression:

如果您需要在变量表达式中执行此操作,Michael的解决方案将不起作用,但您可以使用以下表达式:

(DT_DATE)(DT_DBDATE)GETDATE()

(DT_DBDATE) converts the current date and time to a date only. But the new datatype is not compatiple with SSIS's datetime. Therefore you'll have to use (DT_DATE) for converting to a compatible type.

(DT_DBDATE)仅将当前日期和时间转换为日期。但是新的数据类型与SSIS的日期时间不兼容。因此,您必须使用(DT_DATE)转换为兼容类型。

Courtesy of this solution belongs to Russel Loski who has posted it in his blog: http://www.bidn.com/blogs/RussLoski/ssas/1458/converting-datetime-to-date-in-ssis

感谢这个解决方案属于Russel Loski,他已将其发布在他的博客中:http://www.bidn.com/blogs/RussLoski/ssas/1458/converting-datetime-to-date-in-ssis

#3


Actually if you reverse the first 2 expressions like this: (DT_DBDATE)(DT_DATE)GETDATE() instead of (DT_DATE)(DT_DBDATE)GETDATE(), then you will TRUNCATE the time off the date field.

实际上,如果您反转前两个这样的表达式:(DT_DBDATE)(DT_DATE)GETDATE()而不是(DT_DATE)(DT_DBDATE)GETDATE(),那么您将截断日期字段的时间。

If the DT_DATE expression is before the DT_DBDATE expression, you will still have the time portion in your output, but it will be reset to all zeroes.

如果DT_DATE表达式在DT_DBDATE表达式之前,您仍将在输出中包含时间部分,但它将重置为全零。

#4


Ran into this with writing a report for a scheduling app, needed the time that was stored as part of a datetime data type. I formated the datetime as 0 which gives you this mon dd yyyy hh:miAM (or PM), and just did a substring of that which returned the time only in an AM/PM format.

通过为调度应用程序编写报告,需要将时间存储为日期时间数据类型的一部分。我将datetime格式化为0,这给了你这个mon dd yyyy hh:miAM(或PM),并且只做了一个子串,只返回AM / PM格式的时间。

Example below.

DECLARE @S DATETIME = GETDATE()

SELECT SUBSTRING(CONVERT(NVARCHAR(30), @S , 0) , 13 , 10) AS ApptTime
    , CONVERT(NVARCHAR(30), @S , 0) AS ApptDate

#5


I personally use a series of functions for this. E.g.:

我个人为此使用了一系列功能。例如。:

ALTER FUNCTION [dbo].[TIMEVALUE]
(
 @Datetime datetime
)
RETURNS datetime
AS
BEGIN
    RETURN (@Datetime - CAST(ROUND(CAST(@Datetime AS float), 0, 1) AS datetime))
END

I'd love to claim all the credit but it should really go to this guy.

我很想获得所有的功劳,但它真的应该归功于这个人。


推荐阅读
  • 经过两天的努力,终于成功解决了半平面交模板题POJ3335的问题。原来是在`OnLeft`函数中漏掉了关键的等于号。通过这次训练,不仅加深了对半平面交算法的理解,还提升了调试和代码实现的能力。未来将继续深入研究计算几何的其他核心问题,进一步巩固和拓展相关知识。 ... [详细]
  • 本指南介绍了如何在ASP.NET Web应用程序中利用C#和JavaScript实现基于指纹识别的登录系统。通过集成指纹识别技术,用户无需输入传统的登录ID即可完成身份验证,从而提升用户体验和安全性。我们将详细探讨如何配置和部署这一功能,确保系统的稳定性和可靠性。 ... [详细]
  • 在尝试对 QQmlPropertyMap 类进行测试驱动开发时,发现其派生类中无法正常调用槽函数或 Q_INVOKABLE 方法。这可能是由于 QQmlPropertyMap 的内部实现机制导致的,需要进一步研究以找到解决方案。 ... [详细]
  • 2.2 组件间父子通信机制详解
    2.2 组件间父子通信机制详解 ... [详细]
  • 全面解析JavaScript代码注释技巧与标准规范
    在Web前端开发中,JavaScript代码的可读性和维护性至关重要。本文将详细介绍如何有效地使用注释来提高代码的可读性,并探讨JavaScript代码注释的最佳实践和标准规范。通过合理的注释,开发者可以更好地理解和维护复杂的代码逻辑,提升团队协作效率。 ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • 本文介绍了如何利用Struts1框架构建一个简易的四则运算计算器。通过采用DispatchAction来处理不同类型的计算请求,并使用动态Form来优化开发流程,确保代码的简洁性和可维护性。同时,系统提供了用户友好的错误提示,以增强用户体验。 ... [详细]
  • 在本文中,我们将详细介绍如何构建一个用于自动回复消息的XML类。当微信服务器接收到用户消息时,该类将生成相应的自动回复消息。以下是具体的代码实现:```phpclass We_Xml { // 代码内容}```通过这个类,开发者可以轻松地处理各种消息类型,并实现高效的自动回复功能。我们将深入探讨类的各个方法和属性,帮助读者更好地理解和应用这一技术。 ... [详细]
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
  • ButterKnife 是一款用于 Android 开发的注解库,主要用于简化视图和事件绑定。本文详细介绍了 ButterKnife 的基础用法,包括如何通过注解实现字段和方法的绑定,以及在实际项目中的应用示例。此外,文章还提到了截至 2016 年 4 月 29 日,ButterKnife 的最新版本为 8.0.1,为开发者提供了最新的功能和性能优化。 ... [详细]
  • 本文介绍了如何在iOS平台上使用GLSL着色器将YV12格式的视频帧数据转换为RGB格式,并展示了转换后的图像效果。通过详细的技术实现步骤和代码示例,读者可以轻松掌握这一过程,适用于需要进行视频处理的应用开发。 ... [详细]
  • Golomb 编码是一种高效的变长编码技术,专门用于整数的压缩。该方法通过预定义的参数 \( M \) 将输入整数分解为商 \( q \) 和余数 \( r \) 两部分。具体而言,输入整数除以 \( M \) 得到商 \( q \) 和余数 \( r \),其中商 \( q \) 采用一元编码表示,而余数 \( r \) 则使用二进制编码。这种编码方式在数据压缩和信息传输中具有显著的优势,特别是在处理具有特定概率分布的数据时表现出色。 ... [详细]
  • GDI+ 进阶指南:深入解析 IGPFont 接口
    本文深入探讨了 GDI+ 中 IGPFont 接口的应用与实现,通过具体的代码示例展示了如何在 Delphi 中使用 GDI+ 进行高质量的文本渲染。文章详细解析了 IGPFont 接口的各项属性和方法,并提供了实用的编程技巧,帮助开发者更好地理解和掌握 GDI+ 的字体处理功能。 ... [详细]
  • 本文详细介绍了在 SQL Server 2005 中优化和实现分页存储过程的方法。通过创建一个名为 `[dbo].[GetUsers]` 的存储过程,该过程接受两个参数:`@RowIndex`(当前指定的页数)和 `@RecordCount`(每页显示的记录数)。文章不仅提供了具体的代码示例,还深入探讨了性能优化技巧,包括索引使用和查询优化策略,以提高分页查询的效率和响应速度。 ... [详细]
  • 投融资周报 | Circle 达成 4 亿美元融资协议,唯一艺术平台 A 轮融资超千万美元 ... [详细]
author-avatar
dhailing
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有