我設計了一個基於ASP/C#的搜索,用於搜索數據庫中的記錄,併爲用戶提供了可以使用的這些字段搜索:單詞/短語,dateFrom,dateTill。因此,分別輸入「Hello,World!」,05/25/2009,06/25/2009將搜索內容爲「Hello,World!」的數據庫記錄。這是在給定日期之間創建的。很簡單的東西。如何將SQL日期結果轉換爲英國格式(dd/mm/yyyy)
由用戶輸入到域中的文本直接注入SQL語句就像如下:
SELECT r.idRecord, r.recordText
FROM record r
WHERE LOWER(CAST(r.recordText AS VARCHAR)) LIKE LOWER('%" + word/phrase + "%')
AND r.creationDate BETWEEN '" + dateFrom + "' AND '" + dateTill + "'"
所以還是非常簡單,當用戶在美國的格式輸入日期,它的工作原理就像一個魅力,毫米/日/年。但是,如果輸入英國格式的日期,例如25/05/2009,則失敗。最後...
SELECT CONVERT(VARCHAR(10), GETDATE(), 103) AS [DD/MM/YYYY]
...沒有特別幫助,因爲我不想選擇日期,可以類似語句的WHERE子句中使用?
感謝您的幫助。
作爲注意:你應該使用參數化的SQL。你不應該使用字符串連接來創建SQL語句。 – Heinzi