select St_Name, max(year(getdate())-year(Birthdate) from StInfo为什么报错
时间: 2023-05-29 22:06:18 浏览: 135
该 SQL 语句缺少一个右括号,正确的语句应该是:
```
SELECT St_Name, MAX(YEAR(GETDATE()) - YEAR(Birthdate))
FROM StInfo
```
相关问题
SELECT DATEADD(DAY, -1, dt) FROM (SELECT DATEADD(YEAR, 0, GETDATE()) AS dt) WHERE dt > DATEADD(YEAR, -5, GETDATE()) 这段代码有什么问题,为什么我执行会报错
这段代码的问题在于它没有指定输出的列名。你需要在子查询中给 dt 起一个别名,例如:
```
SELECT DATEADD(DAY, -1, dt) AS previous_date
FROM (SELECT DATEADD(YEAR, 0, GETDATE()) AS dt) AS subquery
WHERE dt > DATEADD(YEAR, -5, GETDATE())
```
这样就能正确地输出结果了。至于为什么会报错,可能是因为你的 SQL 环境对于没有指定列名的查询不允许执行。
阅读全文