![](/img/trans.png)
[英]How to send HTML content to a MSSQL database field using XMLHttpRequest in Javascript & PHP?
[英]How to query a MSSQL database using a concatenated field
有沒有人可以就解決我遇到的這個問題提供建議。 我正在使用 MSSQL 運行 PHP 5.3。 只是為了解釋會發生什么以及我需要做什么......
用戶從主頁上的表格中選擇特定的運行(行)。 表中的列是:
用戶可以通過單擊報告列中報告=是的單元格來 select 一行。 該數據發布到下一頁。 下一頁允許用戶更改開始和結束英里/碼數據,以便他們可以看到該運行的特定部分。
例如,用戶已在主頁上選擇查看從開始英里/碼 565.1211 到結束英里/碼 593.4321 的數據。 用戶可以通過在兩個文本框中鍵入來更改他們想要查看的部分。 一個框是“開始英里/碼”,第二個框是“結束英里/碼”。 因此,用戶可以在“開始英里/碼”文本框 570.2345 和“結束英里/碼”580.6543 中鍵入。 我想要發生的是從用戶輸入的地方查詢數據......
SELECT id, CAST(mile AS varchar(6)) + '.' + CAST(yard AS varchar(6)) AS Mile, gps_lat, gps_long, rotten, split, broken, quality
FROM table
WHERE mile/yard BETWEEN start mile ??? AND end mile ???
ORDER BY Mile
我的問題是,當用戶輸入英里/碼(580.6543)的組合時,我將如何從我的數據庫中查詢此信息? 我假設我將不得不再次將數據分成英里和碼(我該怎么做)......還有如何檢索信息? 只按英里搜索會很簡單(例如 WHERE mile BETWEEN 570 AND 580),但我如何同時按碼和英里搜索?
不幸的是,我將無法更改數據庫結構,因為這是我必須使用的……如果有人能想到更好的方法來做我正在做的事情……我全神貫注!
我知道這是一個很長的問題,所以有任何不清楚的地方,請告訴我!
干杯,
尼爾
您不應該將這些英里/碼數轉換為 varchars。 您失去了將它們作為數字進行比較的能力,而這正是它們最初的用途。
將用戶的英里/碼值轉換為數字,然后與數據庫中的這些數字進行比較。
你試圖強迫蘋果和葡萄成為橙子,並將它們與梨和李子進行比較......只是讓所有東西都成為菠蘿,可以這么說。
此外,通過進行強制轉換 + 連接,您將失去任何可能在這些字段上放置索引的機會。 如果您的表變得“大”,您將通過強制對每個查詢進行全表掃描來降低性能。
正如 Marc B 所說,我試圖強迫蘋果和葡萄成為橙子,並將它們與梨和李子進行比較......只是讓所有東西都變成菠蘿,可以這么說。 我現在改變了我的腳本的結構。
干杯,
尼爾
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.