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

时间:2015-04-03 04:10:31

标签: sql ms-access

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

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

好的我选择了所有的表内容,并且需要将字符串的最后2位数字与格式10-May-15进行比较我只想显示09或更高的日期。我试过转换和演员没有运气:|注意:上面的代码显示=而不是&gt;因为我正在测试它所以我需要的是

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

但为了实现这一点,我需要一种方法将其从字符串转换为整数。 我试过CONVERT,Access无法识别它:|

2 个答案:

答案 0 :(得分:0)

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

  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;

我认为你想获得年份并进行比较。

答案 1 :(得分:0)

如果字段是字符串,则可以使用:

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

和此:

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

如果该字段是日期,则可以使用:

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