SQL:如何检查特定的DateTime

400*_*cat 0 sql vb.net sql-server

我需要从我的代码(VB.NET)检查我的表中的特定DateTime值,我不知道如何将DateTime格式化为字符串.我已经读过SQL Server会识别我的字符串,如果它是日期,时间或日期和时间格式.我的意思是:

'May 15, 2004'
'5/15/2004'
'20040515'
'2004 4 am'
Run Code Online (Sandbox Code Playgroud)

SQL Server会将这些字符串识别为有效的DateTime值吗?我很好奇,因为如果我检查表中的实际DateTime值,它们采用以下格式:

2/2/2006 3:49:33 PM
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 5

不要首先将日期/时间值放在SQL查询中 - 使用参数化查询,然后您不需要知道或关心SQL Server将文字解析为什么格式.您将占位符放在SQL中,并DateTime在参数集合中将值指定为a .

你当然应该使用参数化SQL,事实上 - 它不仅可以摆脱格式化和解析这样的问题,而且可能更重要的是它是防止SQL注入攻击的最有效的武器.