【发布时间】:2019-12-31 07:20:08
【问题描述】:
这是一个 SQL 子查询,它给出的错误是
“从字符串转换日期和/或时间时转换失败。”。
我尝试用 datetime2 替换 datetime,但它不起作用。
declare @cols as NVARCHAR(max)
, @cols2 as NVARCHAR(max)
, @query as NVARCHAR(max) select
@cols = STUFF(
(
select
',' + QUOTENAME(ProductOptionName)
from
OrderProductVariantOption [NL]
inner join OrderProductVariant [NL] on
OrderProductVariant.Id = OrderProductVariantOption.OrderProductVariantId
where
(
OrderProductVariant.AcceptedById = '[Business|0]'
or OrderProductVariant.MRefId = '[Business|0]'
)
and [OrderProductVariant.MarketplaceGroupId=Marketplace]
and OrderProductVariant.DateCreated >= cast(cast('[startdate]' as date) as datetime2)
and OrderProductVariant.DateCreated < cast(cast('[enddate]' as date) as datetime2)
group by
ProductOptionName
order by
ProductOptionName for XML path('')
, TYPE
)
. value('.', 'NVARCHAR(MAX)')
, 1
, 1
, ''
)
【问题讨论】:
-
能否分享一些示例数据?
标签: sql-server sql-server-2008 datetime type-conversion