我的區域日期設置爲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