Mm cc 77:SSIS填充日期时间格式:"hhmmssnnnccyymmdd"

这可能是一个非常简单的问题,但:

我试图命名一个文件 TestSheet.hhmmssnnnccyymmdd

我在 SSIS 中设置了一个变量,我在表达式生成器中的表达式设置为:

@[User::str_Var] + Right("0" + (DT_STR,4,1252) DatePart("hh",getdate()),2) + Right("0" + (DT_STR,4,1252) DatePart("mi",getdate()),2) + Right("0" + (DT_STR,4,1252) DatePart("ss",getdate()),2) + ".txt"

我知道:

Right("0" + (DT_STR,4,1252) DatePart("m",getdate()),2) + Right("0" + (DT_STR,4,1252) DatePart("d",getdate()),2)

会给我“mm”和“dd”

我的问题是..我有“hh mm ss mm dd”,我如何得到“nnccyy”?

5

即使你要求纳秒(十亿分之一),我假设你的意思是毫秒(千分之一)精度。DATEPART仅提供毫秒精度的切片器。

使用表达式,构建格式字符串的位将如下所示

Right("0" + (DT_STR,2,1252) DatePart("hh",getdate()),2) 
+ Right("0" + (DT_STR,2,1252) DatePart("mi",getdate()),2) 
+ Right("0" + (DT_STR,4,1252) DatePart("ss",getdate()),2) 
+ Right("000" + (DT_STR,3,1252) datepart("Ms", getdate()),3) 
+ (DT_STR,4,1252) datepart("yyyy", getdate()) 
+ (DT_STR,2,1252) datepart("mm", getdate()) 
+ (DT_STR,2,1252) datepart("dd", getdate())

我不知道 getdate 内部是如何工作的,但在研究中我确实发现了这个问题What is the best way to measure how long code takes to execute?,但我认为它基本上是调用DateTime.Now来自 Eric Lippert 的金钱报价,但这是最相关的。

请注意,DateTime 测量的“挂钟时间”仅精确到 30 毫秒。DateTime 用于表示墙上的时钟或您上次编辑文件的时间;它不必具有纳秒精度,因此它不

如果你必须去纳秒的精度,快乐的狩猎,但表达不会削减它。正如 @ fegemo 指出,一个脚本任务可以让你到一千万custom formatting,但这仍然是两个数量级从你想要的精度。

this.Dts.Variables["User::CustomFormat"].Value = DateTime.Now.ToString("HHmmssfffffyyyyMMdd");
0

根据文档enter link description hereGetDate()返回DT_DBTIMESTAMP类型的日期,其精度为秒后最大 3 个小数位:

时间戳结构,由年、月、日、小时、分钟、秒和秒的小数部分组成。秒的小数部分的最大小数位数为 3。enter link description here

您可以使用小数来确定您需要的部分信息:

DT_DBTIMESTAMP        yyyy-mm-dd hh:mm:ss[.fff]

步骤:

使用DATEPART("Ms", GetDate())获取英里数

将结果除以10^6(将毫秒转换为纳秒)

将结果强制转换为DT_I4,只得到整数部分。

不幸的是,这总是返回000,因为DT_DBTIMESTAMP的精度有限。

但是,我不知道如何从系统中获取当前日期与您需要的精度。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(336)
Matlab求定积分程序:向量的定积分(integration of vectors)
上一篇
剑与远征ios和安卓互通吗:安卓:TTS会说广东话吗(cantonese text to speech app)
下一篇

相关推荐

  • android 视频编码深入理解MediaCodec API

    Android 视频编码是指将原始视频数据经过压缩编码后,生成新的视频数据,以便减少视频文件的体积,提高传输速度,以及更好地在 Android 设备上播放。…

    2023-01-13 10:58:18
    0 34 77
  • cv小敢:如何利用CV小敢提升职业技能?

    cv小敢(Computer Vision Tiny-YOLO)是一种轻量级的物体检测算法,它可以在资源受限的设备上运行,如嵌入式设备、智能手机等。它是基于YOLO(You Only Look Once)算法的一个变体,由Joseph Redmon和Ali Farhadi开发,旨在提高深度学习模型的性能,同时减少模型的大小和计算复杂度。…

    2023-02-09 13:08:59
    0 40 10
  • coremail论客邮箱Coremail论客邮箱

    Coremail论客邮箱是一款专业的企业邮箱服务,可以满足企业对安全、可靠性和高效性的要求。它拥有强大的安全性能,可以提供多种安全保护,包括防止邮件被窃取、拦截恶意邮件、防止跨站脚本攻击等。此外,它还支持多种企业级功能,如组织架构管理、收发邮件管理、文件共享管理、联系人管理等,可以帮助企业提高工作效率,提升企业形象。…

    2023-02-25 04:36:55
    0 17 56
  • linux 编译静态库:```ar cr libtest.a *.o```4. 完成!

    我们要创建一个源文件,比如:mylib.c,内容如下:#include…

    2023-03-19 08:46:39
    0 90 94
  • canvas下载安装:Unleash the Power of Canvas to Create Amazing Visuals

    Canvas是一种HTML5技术,可以在网页上创建和绘制2D图形。它是一个JavaScript API,可以使用JavaScript代码来绘制图形,并且可以添加各种效果,如阴影,渐变,动画等。…

    2023-03-08 00:48:14
    0 27 90
  • class定位:The Benefits of Using Class Selectors for Element Locati

    示例示例class定位是一种CSS布局技术,用于指定HTML元素的位置,可以使元素放置在页面的任何位置。代码示例:…

    2023-03-06 07:16:44
    0 25 32
  • cvt加速技巧:如何使用CVT加速技巧提升网络性能?

    cvt加速技巧是一种用于提升计算机程序运行性能的技术。它可以帮助程序员更有效地利用处理器的资源,从而提高程序的性能。cvt加速技巧的主要原理是:在程序运行时,将处理器的资源(如内存、寄存器、流水线等)分解成小块,然后将这些小块重新组合,使其可以更有效地执行程序代码。…

    2023-01-21 04:33:16
    0 54 31
  • security code怎么填保护您的数据和隐私

    示例示例code是一种防止自动提交表单的安全措施,通常会在表单中显示一个图片,用户需要输入图片中显示的字符。以下是一个简单的 code代码示例:…

    2023-03-20 09:31:54
    0 39 19

发表评论

登录 后才能评论

评论列表(74条)