我的一张nvarchar桌子上有一栏.现在我需要将该列值转换为INT类型..
我试过用
cast(A.my_NvarcharColumn as INT)
Run Code Online (Sandbox Code Playgroud)
和
convert (int, N'A.my_NvarcharColumn')
Run Code Online (Sandbox Code Playgroud)
当我运行我的查询时,我收到的错误就像
将nvarchar值'23454542'转换为数据类型int时转换失败.
嗨,我发布我的整个代码片段
SELECT A.objID, name, des, right(Replace(Ltrim(Replace(substring(my_nvarcharcolumn,1,9), '0', ' ')), ' ', '0'),10) AS new_nvarcharcolumn
INTO #tmp1
FROM [database].[dbo].[tblname] AS A
INNER JOIN (SELECT * FROM [database].[dbo].tblname1 WHERE sourceID = 32) AS AI ON source = A.objID
INNER JOIN [database].[dbo].tblname2 AS I ON I.ObjectID = A.Source
SELECT MAX(m_dAddDate) AS date_Asof, dnum INTO #tmp2 FROM
(SELECT * FROM [database].[dbo].tblname WHERE senior <> '' AND class = 'SSS') …Run Code Online (Sandbox Code Playgroud) 我的包由动态数据库连接组成.当我运行我的包时,它会抛出错误,如DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.对连接管理器"conn"的AcquireConnection方法调用失败,错误代码为0xC0202009.
我尝试在包级别将延迟验证属性设置为true.
我尝试将Package Protection Level属性更改为EncryptSensitiveWithpassword.仍然面临同样的错误.
能够手动运行包.
如何摆脱这个.
我有一个带有日期列的 CSV 文件,格式为mm/dd/yyyy (4/20/2012),我需要将此列加载到在yyyy-mm-dd (2012-04- 20)。
为此,我使用了派生列转换,并编写了类似的表达式
(DT_WSTR)(SUBSTRING(ReceivedDateTime,1,4) + "-" +
SUBSTRING(ReceivedDateTime,5,2) + "-" + SUBSTRING(ReceivedDateTime,7,2))
Run Code Online (Sandbox Code Playgroud)
在运行我的包时,它抛出错误Unable to perform type cast。
我有一个输入文件,每天必须将其加载到表中。我收到以下格式的文件样本sample_20120518_160754.CSV。时间戳可能有所不同,它不是当前时间戳
我已经使用表达式来获取文件名和日期,但是如何获取文件的时间戳。
这是我用来获取日期的文件的表达。
"sample_" + RIGHT("0" + (DT_STR,4,1252)DATEPART("yyyy", (DT_DATE)@[User::p_varAsOfDate]), 4) + RIGHT("0" + (DT_STR, 2, 1252)DATEPART("dd", (DT_DATE)@[User::p_varAsOfDate]), 2) + (DT_STR, 2, 1252)DATEPART("mm", (DT_DATE)@[User::p_varAsOfDate]) +"_" +".CSV"
Run Code Online (Sandbox Code Playgroud)
该表达式的结果
sample_2012145_.CSV现在我也想要文件的时间戳。