gpt4 book ai didi

ssis 表达式如何转换日期时间 sql 语句?

转载 作者:行者123 更新时间:2023-12-04 16:47:57 24 4
gpt4 key购买 nike

在 ssis 包中我有 String type variable V2我在 sql 查询之后编写的内部表达式属性
"select * from mytable where date = " + @[System::StartTime]
但它给了我一个错误:

The data types "DT_WSTR" and "DT_DATE" are incompatible for binary operator "+". The operand types could not be implicitly cast into compatible types for the operation. To perform this operation, one or both operands need to be explicitly cast with a cast operator.

Attempt to set the result type of binary operation ""select * from table where date = " + @[System::StartTime]" failed with error code 0xC0047080.

甚至我也尝试过 (DT_WSTR) @[System::StartTime]仍然没有任何建议?

最佳答案

您需要将 StartTime 变量和 [date] 字段的数据类型从查询更改为字符串。
尝试这个:

"select * from mytable where convert( varchar(10), [date], 120) = '" + SUBSTRING((DT_WSTR,50)@[System::StartTime],1, 10) + "'"

哪个应该返回一个正确的查询:
select * from mytable where convert( varchar(10), [date], 120) = '2013-05-22'
convert()会给你像“2013-05-22”这样的字符串。在我的系统 (DT_WSTR) 上转换 @[System::StartTime]正在返回字符串“2013-05-22 16:14:43”,但如果您有其他设置,则必须从日期部分构造字符串,如果您的默认结果是例如“05/22/2013 16: 14:43"由于其他区域设置。

你用的是什么版本的sql server?和 [date] 字段类型到底是什么?

关于ssis 表达式如何转换日期时间 sql 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16693742/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com