如何在 SQL 服务器中将字符串转换为日期

How to convert string to date in SQL Server

我有一个名为 UserLog 的 table,如下所示。我如何编写一个程序来查找 table 中的指定数据?

我创建了以下程序;但它不起作用:

CREATE PROCEDURE [dbo].[Sp_CleanUserLogTable]
    @FromDate date,
    @ToDate date
AS
    DELETE FROM UserLog 
    WHERE TRY_CAST(EnterDate AS date) >= @FromDate 
      AND TRY_CAST(EnterDate AS date) <= @ToDate 

enter image description here

将日期格式化为 yyyy-MM-dd。例如 2021-09-23

没有 date format 与您的文字完全匹配,但您可以使用 REPLACE 获得不同的格式:

TRY_CONVERT(datetime, REPLACE(EnterDate, '.', '-'), 105)

这是您应该始终首先以正确的数据类型存储数据的众多原因之一