我正在尝试获取仅具有有效日期格式(%%cython
from cpython cimport PyLong_Check
def print_me(i):
if not PyLong_Check(i):
print("Not an integer!")
else:
print(i)
)的记录。我正在使用以下YYYYMMDD
条件。我想知道还有其他方法吗?
where
答案 0 :(得分:2)
如果您具有SQL Server 2012或更高版本,则可以使用TRY_CONVERT()
答案 1 :(得分:0)
我相信您可以使用FORMAT()
函数来实现此目的。
SELECT s.Date
...
FROM ...
WHERE
s.Date IS NOT NULL
AND ISDATE(s.Date) = 1
AND s.Date = FORMAT(s.Date, 'yyyymmdd');
但这可能相当慢,因为它必须为通过其他FORMAT()
条件的每个记录返回的每个记录运行WHERE
函数。
但是您可以试一试。
答案 2 :(得分:0)
如果要任何有效的日期格式,则可以使用:
where try_convert(varchar(255), s.date) is not null
如果您特别想要YYYYMMDD,则可以执行以下操作:
where try_convert(varchar(255), s.date, 112) is not null