Sql 日期字段已转换为字符串-不允许按订单
我正在使用SQL2008。(实际上是asp) 好的,我在Select中使用Convert的原因是因为我的数据具有不同时间的日期。但我希望所有结果都在同一天。所以我用了转换 我的问题是我想不出如何按订单。 我试着按发货日期排序,但现在是字符串,所以排序不正确Sql 日期字段已转换为字符串-不允许按订单,sql,datetime,Sql,Datetime,我正在使用SQL2008。(实际上是asp) 好的,我在Select中使用Convert的原因是因为我的数据具有不同时间的日期。但我希望所有结果都在同一天。所以我用了转换 我的问题是我想不出如何按订单。 我试着按发货日期排序,但现在是字符串,所以排序不正确 有人能帮忙吗?您有SQL Server 2008,因此可以使用日期类型 SELECT orderId, CONVERT(varchar, orderDate, 101) AS Date_Ordered, CONVERT
有人能帮忙吗?您有SQL Server 2008,因此可以使用日期类型
SELECT
orderId,
CONVERT(varchar, orderDate, 101) AS Date_Ordered,
CONVERT(varchar, CAST(sentDate as date), 101) AS Date_Shipped
FROM orders
GROUP BY
orderId, CONVERT(varchar, o.orderDate, 101), CAST(sentDate as date)
ORDER BY
CAST(sentDate as date)
我记不清这是否被允许,但希望你能明白:如果不允许,就用这个
SELECT
orderId,
Date_Ordered,
CONVERT(varchar, sentDate2, 101) AS Date_Shipped
FROM
(
SELECT
orderId,
CONVERT(varchar, orderDate, 101) AS Date_Ordered,
CAST(sentDate as date) AS sentDate2
FROM orders o
GROUP BY
orderId, CONVERT(varchar, orderDate, 101), CAST(sentDate as date)
) foo
ORDER BY
sentDate2
您有SQL Server 2008,因此可以使用日期类型
SELECT
orderId,
CONVERT(varchar, orderDate, 101) AS Date_Ordered,
CONVERT(varchar, CAST(sentDate as date), 101) AS Date_Shipped
FROM orders
GROUP BY
orderId, CONVERT(varchar, o.orderDate, 101), CAST(sentDate as date)
ORDER BY
CAST(sentDate as date)
我记不清这是否被允许,但希望你能明白:如果不允许,就用这个
SELECT
orderId,
Date_Ordered,
CONVERT(varchar, sentDate2, 101) AS Date_Shipped
FROM
(
SELECT
orderId,
CONVERT(varchar, orderDate, 101) AS Date_Ordered,
CAST(sentDate as date) AS sentDate2
FROM orders o
GROUP BY
orderId, CONVERT(varchar, orderDate, 101), CAST(sentDate as date)
) foo
ORDER BY
sentDate2
顺便说一下,查询中的o
别名是错误的,因为您没有这样的表别名
顺便说一下,查询中的
o
别名是错误的,因为您没有这样的表别名。因为它不在Group By中,因为它不在Group By中