【问题标题】:SQL queries with date format "dd/MM/yyyy " in Microsoft SQL Server CompactMicrosoft SQL Server Compact 中日期格式为“dd/MM/yyyy”的 SQL 查询
【发布时间】:2019-12-14 17:09:11
【问题描述】:

我正在使用 SQL serverce(Microsoft SQL Server Compact) 查询数据库时的日期有问题。我正在使用这种格式“dd/MM/yyyy”将数据库中的日期保存到 nvarchar 字段中 例如,当我使用这个语句时

select * from ClientAccounts where  clientAccount_Date > '29/07/2019'

我在 2019 年 6 月 30 日的结果中得到了这个

我什至尝试过这种格式

convert(nvarchar(10),clientAccount_Date,103) > '29/07/2019'

我得到了相同的结果 任何人都可以在这个问题上帮助我。

提前谢谢你

【问题讨论】:

  • 您的意思是 Microsoft SQL Server Compact 吗?我认为您应该考虑相应地标记您的问题。
  • 我无法像 Microsoft SQL Server Compact 这样添加标签
  • 如果您收到有效答案,请相应标记

标签: sql date format


【解决方案1】:
select * from ClientAccounts where  clientAccount_Date > '29-07-2019'

在 SQL 中,通常使用“-”而不是“/”。

希望这行得通。

【讨论】:

  • 您需要更改 SQL 的格式 这样做:
  • select convert(varchar, getdate(), 23) ---- 转化为2006-12-30
【解决方案2】:

尝试将字符串转换为日期。类似于 select * from ClientAccounts where clientAccount_Date > cast('29/07/2019' as date)

【讨论】:

  • 感谢您的重播。尝试并得到此异常{“指定的数据类型无效。[数据类型(如果知道)=日期]”}
  • 我使用 SQL Server 进行了尝试,它运行良好,但我不得不将日期更改为 MM/DD/YYYY,所以:cast('07/29/2019' as Date) 您的列也可能是 DateTime,所以您d 必须使用:cast('07/29/2019' as DateTime)
  • 我正在使用 Microsoft SQL Server Compact
  • 我在表中的列类型是 nvarcar。我不得不那样做。这是我第一次使用 Microsoft SQL Server Compact。但我无法以 dd/MM/yyyy 格式保存日期,除非我将其更改为 nvarchar
  • 然后两边都像这样select * from ClientAccounts where cast(clientAccount_Date as date) > cast('29/07/2019' as date)
【解决方案3】:

我一般使用YYYYMMDD格式:

select * from ClientAccounts where  clientAccount_Date > '20190729'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-12
    • 1970-01-01
    相关资源
    最近更新 更多