Sql server 为什么我的约会部分不起作用?
我正在努力学习SQL,但在让DATEPART正常工作时遇到了困难。我的表是付款,列名是生日 问题:这里有什么问题? 问题是为什么SQL语句会抛出错误。由于阅读,他们发现了一个简单的语法问题 @columnName是做什么的?使用tableName.ColumnName更好,还是应该使用@ColumnNameSql server 为什么我的约会部分不起作用?,sql-server,Sql Server,我正在努力学习SQL,但在让DATEPART正常工作时遇到了困难。我的表是付款,列名是生日 问题:这里有什么问题? 问题是为什么SQL语句会抛出错误。由于阅读,他们发现了一个简单的语法问题 @columnName是做什么的?使用tableName.ColumnName更好,还是应该使用@ColumnName 1970-04-05 代码: 这是屏幕的图像 您需要在orderDay之后丢失逗号: SELECT DATEPART(yyyy,p.BirthDay) AS OrderYear,
1970-04-05
代码:
这是屏幕的图像
您需要在orderDay之后丢失逗号:
SELECT DATEPART(yyyy,p.BirthDay) AS OrderYear,
DATEPART(mm, p.BirthDay) AS OrderMonth,
DATEPART(dd, p.BirthDay) AS OrderDay
FROM Payment as p;
您需要在orderDay之后丢失逗号:
SELECT DATEPART(yyyy,p.BirthDay) AS OrderYear,
DATEPART(mm, p.BirthDay) AS OrderMonth,
DATEPART(dd, p.BirthDay) AS OrderDay
FROM Payment as p;
最简单的方法是将日期转换为字符串。您还有一个逗号语法错误
DECLARE @BirthDay DATETIME
SET @Birthday='04/05/05'
SELECT
*,
CAST(OrderYear AS NVARCHAR(4))+'-'+CAST(OrderMonth AS NVARCHAR(2))+'-'+CAST(OrderDay AS NVARCHAR(2))
FROM
(
SELECT DATEPART(yyyy,@BirthDay) AS OrderYear,
DATEPART(mm, @BirthDay) AS OrderMonth,
DATEPART(dd, @BirthDay) AS OrderDay
)AS X
最简单的方法是将日期转换为字符串。您还有一个逗号语法错误
DECLARE @BirthDay DATETIME
SET @Birthday='04/05/05'
SELECT
*,
CAST(OrderYear AS NVARCHAR(4))+'-'+CAST(OrderMonth AS NVARCHAR(2))+'-'+CAST(OrderDay AS NVARCHAR(2))
FROM
(
SELECT DATEPART(yyyy,@BirthDay) AS OrderYear,
DATEPART(mm, @BirthDay) AS OrderMonth,
DATEPART(dd, @BirthDay) AS OrderDay
)AS X
正如在评论和类似的回答中提到的,您可能只是遇到了一些语法错误。名称,
OrderDay
后的逗号
在您的屏幕截图中,您还存在一些语法错误
SELECT p.BirthDay
datepart(dd,p.BirthDay) as Year
from payment as p;
应该读更多类似的内容:
SELECT p.BirthDay, -- Note the comma!
DATEPART(dd,p.BirthDay) AS Day --dd = day
FROM Payment as p;
除了使用DATEPART()
,您还可以使用快捷方式功能:
SELECT YEAR(p.BirthDay), MONTH(p.BirthDay), DAY(p.BirthDay)
FROM Payment p
正如在评论和类似的回答中提到的,您可能只是遇到了一些语法错误。名称,
OrderDay
后的逗号
在您的屏幕截图中,您还存在一些语法错误
SELECT p.BirthDay
datepart(dd,p.BirthDay) as Year
from payment as p;
应该读更多类似的内容:
SELECT p.BirthDay, -- Note the comma!
DATEPART(dd,p.BirthDay) AS Day --dd = day
FROM Payment as p;
除了使用DATEPART()
,您还可以使用快捷方式功能:
SELECT YEAR(p.BirthDay), MONTH(p.BirthDay), DAY(p.BirthDay)
FROM Payment p
我不太清楚你在问什么,但我看到一个简单的语法错误:删除
OrderDay
后面的逗号。这能解决问题吗?那些弯弯曲曲的线条。它们是语法错误。我不太确定你在问什么,但我看到了一个简单的语法错误:删除OrderDay
后面的逗号。这能解决问题吗?那些弯弯曲曲的线条。这些都是语法错误。我喜欢所有的答案。很难选择哪一个是最好的答案。我喜欢所有的答案。很难选择哪一个是最好的答案。当然有助于解释原因。当然有助于解释原因。