Sql 访问将字符串日期(年)转换为整数

Sql Access Convert String Date (Year) to Integer

我有标准错误不匹配。我认为那是因为我正在比较一个字符串和一个整数 > 08

SELECT * FROM [Data]
WHERE [A] <> 'NULL'  AND RIGHT([A], 2)='08';

好的,我 select 所有 table 内容,并且需要将字符串的最后 2 位数字与 10-May-15 格式进行比较,我只想显示 09 或更晚的日期.我试过 convert 和 Cast 没有运气:|注意:上面的代码显示 = 而不是 > 因为我正在测试它。所以我需要的是

SELECT * FROM [Data]
    WHERE [A] <> 'NULL'  AND RIGHT([A], 2) > 09;

但是为了让它工作,我需要一种方法将它从字符串转换为整数。 我尝试了 CONVERT,但 Access 无法识别它:|

您可以从日期时间字符串中提取日、月或年。请参阅 sql 服务器中的以下示例。

  declare @date as date = '10-May-15'
    select DAY(@date)
    select YEAR(@date)
    select MONTH(@date)

结果将是

  • 10
  • 2015
  • 5

在您的情况下,只需使用

SELECT * FROM [Data]
WHERE YEAR([A]) > 09;

我假设你想要获取年份部分并进行比较。

如果字段是字符串,这将起作用:

SELECT * FROM [Data]
WHERE RIGHT([A], 2) > '09';

还有这个:

SELECT * FROM [Data]
WHERE RIGHT([A], 2) > 9;

如果字段是日期,这将起作用:

SELECT * FROM [Data]
WHERE YEAR([A]) > 9;