我的区域日期设置为SQL Server错误
yyyymmdd
现在,我的SQL Server有默认DateTime
设置为
mm/dd/yyyy
我的数据库列的数据类型为DateTime
,它包含的值与数据库的格式相同。
我的代码是用Delphi7编写的。
当它来从数据库fetcch记录,它触发查询类似如下:
select *
from EMPLOYEE
where JOINING_DATE > '08292017'
在上面的查询,预产期为08/29/2017
或08-29-2017
。在Delphi 7中,我使用GetLocaleChar
方法从区域设置中获取分隔符的值;在Delphi 7中,我使用GetLocaleChar
方法从区域设置中获取分隔符的值;使用GetLocaleChar
下面是该代码:
GetLocaleChar(DefaultLCID, LOCALE_SDATE, '/')
其中
DefaultLCID := GetThreadLocale;
另一个问题是:它在SQL Server中,其分离器,我们使用的是不论数据库列使用分离器的重要吗?
使用参数化查询,你应该没问题。 – Victoria
除此之外,你应该参数化你的查询这可以是一个有趣的阅读http://www.karaszi.com/SQLServer/info_datetime.asp#DtFormatsInput – GuidoG