本文目錄一覽:
- 1、mysql 字元串截取
- 2、mysql中 varchar(20)我的數據長度超過了,varchar不是自動增長的嗎,為什麼他把後面超過的內容給截了。
- 3、mysql -e 拼接的欄位別名超長 256後就被截取了
mysql 字元串截取
使用MYSQL的SUBSTRING_INDEX函數實現你的功能,此函數的語法解釋如下:
SUBSTRING_INDEX(str,delim,count)
返回從字元串str的第count個出現的分隔符delim之後的子串。如果count是正數,返回最後的分隔符到左邊(從左邊數) 的所有字元。如果count是負數,返回最後的分隔符到右邊的所有字元(從右邊數)。
mysql select SUBSTRING_INDEX(”, ‘.’, 2);
– ”
mysql select SUBSTRING_INDEX(”, ‘.’, -2);
– ‘mysql.com’
該函數對多位元組是可靠的。
如果你的欄位名為xxx,值為201207|123|23.5|100|50|和20120703|19|212|||,要獲取第3個內容23.5的函數是:
SUBSTRING_INDEX(SUBSTRING_INDEX(xxx,’|’,3),’|’,-1)
裡面的函數獲取第3個開始的所有內容,外面的函數獲取裡面函數結果的第1個內容
mysql中 varchar(20)我的數據長度超過了,varchar不是自動增長的嗎,為什麼他把後面超過的內容給截了。
mysql中 varchar(20)數據長度超過了是設置錯誤造成的,解決方法為:
1、通過my.ini(Linux下為my.cnf)的配置文件進行修改。一般my.ini文件在安裝文件的根目錄下。
2、系統是Windows10,安裝目錄下沒有my.ini文件。
3、仔細找了一下,my.ini文件在ProgramData下。
4、打開配置文件,在 [mysqld] 的後面加入一行「ft_min_word_len=1」。PS:也可以設置成ft_min_word_len=2,具體情況根據自己的中文數據而定。
5、重啟MySQL服務。注意,配置文件修改後一定要重啟服務後才能生效。
6、查看一下最小索引長度,確定生效。SQL語句:SHOW GLOBAL VARIABLES LIKE ‘%__word_len%’。
mysql -e 拼接的欄位別名超長 256後就被截取了
在sql中加入”set names utf8″即可。 1.打開mysql/my.ini文件夾找到default-character-set=Latin1 更改為default-character-set=gb2312; 2.在創建表的時候最後面記得加這句話:default charset=gb2312 如下所示: create table 表名(…..)default charset=gb2312; 3.在調用資料庫的時候,加一句話,如下所示: $link=mysql_connect(‘localhost’,’root’,”); mysql_select_db(‘stud’,$link); mysql_query(“set names ‘gb2312’ “);—-加這句話! 這樣,有2,3兩步實現了編碼及存儲入表的匹配。 3.出現中文無法顯示的原因有一個就是存儲的編碼跟連接資料庫時的編碼不一致導致的,特徵表現為中文顯示為?
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/309505.html