在sql語句中經常遇到處理前置和後置數據的問題 1、首先使用convert轉化函數對預處理的數據進行轉化,CONVERT()函數可以將制定的數據類型轉換為另一種數據類型 MySQL 的CAST()和CONVERT()函數可用來獲取一個類型的值,並產生另一個類型的值。兩者具體的語法如下: 就是CAST ...
在sql語句中經常遇到處理前置和後置數據的問題
1、首先使用convert轉化函數對預處理的數據進行轉化,CONVERT()函數可以將制定的數據類型轉換為另一種數據類型
MySQL 的CAST()和CONVERT()函數可用來獲取一個類型的值,並產生另一個類型的值。兩者具體的語法如下:
CAST(value as type); CONVERT(value, type);
就是CAST(xxx AS 類型), CONVERT(xxx,類型)。
可以轉換的類型是有限制的。這個類型可以是以下值其中的一個:
- 二進位,同帶binary首碼的效果 : BINARY
- 字元型,可帶參數 : CHAR()
- 日期 : DATE
- 時間: TIME
- 日期時間型 : DATETIME
- 浮點數 : DECIMAL
- 整數 : SIGNED
- 無符號整數 : UNSIGNED
2、需要把前置或者後置的數據用一個特定的字元替代,或者用空字元代替然後去除空格,達到實現轉換數據的目的。
需要用到的函數:
RTRIM()函數,用於去除字元串右邊多餘的空格,不管有多少個空格,一次性全部清除。
LTRIM()函數,用於去除字元串左邊多餘的空格,不管有多少個空格,一次性全部清除。
例如:數據10和00010進行匹配判斷
解決方法:先把00010中所有的0轉化成" "空字元,然後再去掉左邊的" "空字元,最後把右邊的" "空字元轉化成0。
replace(ltrim(replace(convert('00010',SIGNED),'0',' ')),' ','0')
SQL判斷條件:
SELECT *
FROM `table`
WHERE IF( `parentID` =1, `plan_id` <10, `plan_id` >500 )
LIMIT 0 , 30
說明:WHERE IF(條件, true執行條件, false執行條件 )
點點滴滴積累!