iT邦幫忙

2

SQL Where 欄位 like 'a% ' 改Java script 怎麼寫

XYZ 2020-03-17 16:49:471723 瀏覽

大家好,
請問
SQL select * from tablea Where 欄位 like 'a% ' 以及我只要篩選3年前的年度改Java script 怎麼寫?

看更多先前的討論...收起先前的討論...
舜~ iT邦高手 1 級 ‧ 2020-03-17 17:00:14 檢舉
是用javascript去組合sql嗎?
XYZ iT邦新手 5 級 ‧ 2020-03-17 17:22:50 檢舉
不是, 因為我不會Java script, 我的需求是要找某欄位的關鍵字及篩選3年前的年度,要怎麼下Java script?
wingkawa iT邦新手 4 級 ‧ 2020-03-17 18:04:01 檢舉
這問題看起來像是「我有一份全熟牛排食譜,我想要改成三分熟但是食材要用鐵塊做」
你應該類似講的是PHP改成ASP要如何寫吧?
SQL改用Java script如何模擬?
player iT邦大師 1 級 ‧ 2020-03-17 18:35:57 檢舉
有一本書叫【提問的藝術】
建議你先看一下
不然你的表達方式
別人很難理解
orz
java不等於javascript。你是要問java還是javascript。
chaoyuan iT邦新手 5 級 ‧ 2020-03-23 13:38:37 檢舉
SQL改Java(空格)script怎麼寫......
我不相信這段話有人看得懂
1
舜~
iT邦高手 1 級 ‧ 2020-03-17 17:01:57

是用javascript組出sql去連資料庫嗎?

function GetSql(){
    let sql1 = 'select * from tablea Where  欄位 like \'a%\'';
    let sql2 = "select * from tablea Where  欄位 like 'a%'";
}
4
cyc0713
iT邦新手 5 級 ‧ 2020-03-17 17:16:33

sql不建議放前端會被看光光,管理/資安都會有問題。

2
通靈亡
iT邦研究生 1 級 ‧ 2020-03-17 18:01:35

如果是篩選從後端接JSON Array的資料,可以這樣做:

用Array.filter,過濾 string.include() === true 或 string.indexOf() >=0 的資料

例如:

let filterJsonArray = jsonArray.filter(jsonData => jsonData.someString.indexOf('hi') >= 0)

就會從jsonArray 篩選所有someString中包含字串hi的json,得到篩選後的filterJsonArray

如果同時要滿足年度為3年前的資料
你可以在filter當中加上另一個條件

let filterJsonArray = jsonArray.filter(jsonData => jsonData.someString.indexOf('hi') >= 0 && new Date(jsonData.date).getYear() <= new Date().getYear() - 3)

或者,用前面過濾好的filterJsonArray繼續filter

filterJsonArray = filterJsonArray.filter(new Date(jsonData.date).getYear() <= new Date().getYear() - 3)

Sample 資料與程式碼:

https://jsfiddle.net/x8k6gefa/1/
https://jsfiddle.net/x8k6gefa/2/

所有的資料:
https://ithelp.ithome.com.tw/upload/images/20200317/20120331zVxcS3DpHJ.png

過濾之後的資料:
https://ithelp.ithome.com.tw/upload/images/20200317/20120331WYjyuKLclj.png

我要發表回答

立即登入回答