1
我想創建一個BETWEEN參數,該參數返回字母(即介於A-Z和a-z之間)的值。有沒有辦法做到這一點,而不使用兩個BETWEEN子句?SQL BETWEEN區分大小寫
我想創建一個BETWEEN參數,該參數返回字母(即介於A-Z和a-z之間)的值。有沒有辦法做到這一點,而不使用兩個BETWEEN子句?SQL BETWEEN區分大小寫
你不說你用的是什麼平臺
WHERE UPPER(fieldname) BETWEEN 'A' and 'Z'
或
WHERE UCASE(fieldname) BETWEEN 'A' and 'Z'
你可能想擺脫一些麻煩空間
WHERE UPPER(TRIM(fieldname)) BETWEEN 'A' and 'Z'
這將是緩慢的,如果我們在其上運行一個函數,我們就不能在索引中使用fieldname。所以我們強制使用表掃描,這意味着如果字段名被索引並且表有一些行數,兩個between和an或者將會更快。
對你比較的東西做UPPER或LOWER(或UCASE或LCASE)。 – Hogan
哪個RDBMS是爲了這個?請添加一個標籤來指定您是使用'mysql','postgresql','sql-server','oracle'還是'db2' - 或者其他的東西。 –