欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MYSQL字符串強(qiáng)轉(zhuǎn)的方法示例

 更新時(shí)間:2020年12月07日 14:52:13   作者:道友請(qǐng)留步12138  
這篇文章主要給大家介紹了關(guān)于MYSQL字符串強(qiáng)轉(zhuǎn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

由于兩個(gè)表同一字段類型不一樣,甚至是編碼類型不一樣也會(huì)導(dǎo)致查詢不走索引,速度會(huì)很慢。

強(qiáng)轉(zhuǎn)

直接舉例說明:

A 表id是int 類型  B表id是 char 類型

如果要轉(zhuǎn)為int 則是signed

如果要轉(zhuǎn)為char 則是char

注意:需轉(zhuǎn)換的類型必須是left join 后表的字段,否則不走索引

因?yàn)槁?lián)表字段類型不一致,所以不走索引

select t.* from A  tleft join B t1 on t.id = t1.id 

第一種轉(zhuǎn)換類型

select t.* from A  tleft join B t1 on t.id = cast(t1.id  as signed)

第二種轉(zhuǎn)化類型

select t.* from A  tleft join B t1 on t.id = convert(t1.id,signed)

a.b=f.g

但是這兩個(gè)字段b和g屬于不同的排序規(guī)則,b是utf8_general_ci,而g是utf8_unicode_ci,他兩相等sql就會(huì)報(bào)錯(cuò),于是我請(qǐng)教了上級(jí),寫法是:

CONVERT (a.b USING utf8) COLLATE utf8_unicode_ci = f.g

如果這樣連表還不走索引,字段放在查詢里面轉(zhuǎn)型,例如:

select a.* from a
left join (select b.*, CONVERT (a.b USING utf8) COLLATE utf8_unicode_ci = f.g from b) a on a.b = f.g

CONVERT(user_id  USING utf8) COLLATE utf8_general_ci as user_id

到此這篇關(guān)于MYSQL字符串強(qiáng)轉(zhuǎn)的文章就介紹到這了,更多相關(guān)MYSQL字符串強(qiáng)轉(zhuǎn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論