【MySQL系列】隱式轉換

💝💝💝歡迎來到我的博客,很高興能夠在這里和您見面!希望您在這里可以感受到一份輕松愉快的氛圍,不僅可以獲得有趣的內容和知識,也可以暢所欲言、分享您的想法和見解。
img

  • 推薦:kwan 的首頁,持續學習,不斷總結,共同進步,活到老學到老
  • 導航
    • 檀越劍指大廠系列:全面總結 java 核心技術,jvm,并發編程 redis,kafka,Spring,微服務等
    • 常用開發工具系列:常用的開發工具,IDEA,Mac,Alfred,Git,typora 等
    • 數據庫系列:詳細總結了常用數據庫 mysql 技術點,以及工作中遇到的 mysql 問題等
    • 新空間代碼工作室:提供各種軟件服務,承接各種畢業設計,畢業論文等
    • 懶人運維系列:總結好用的命令,解放雙手不香嗎?能用一個命令完成絕不用兩個操作
    • 數據結構與算法系列:總結數據結構和算法,不同類型針對性訓練,提升編程思維,劍指大廠

非常期待和您一起在這個小小的網絡世界里共同探索、學習和成長。💝💝💝 ?? 歡迎訂閱本專欄 ??

博客目錄

    • 一.現象背景
      • 1.SQL
      • 2.id 數據類型
      • 3.等價 SQL
    • 二.隱式轉換場景
      • 1.字符串和數字混合比較
      • 2.字符串到數字的插入
      • 3.數字到字符串的插入
      • 4.函數參數
      • 5.ORDER BY 或 GROUP BY 子句
      • 6.CASE WHEN 語句
      • 7.JOIN 操作
      • 8.默認值

一.現象背景

1.SQL

select * from `app-cloud`.cl_sation where id = "082f660d-e1d3-4a36-bcd8-e8494f52e0eb";

2.id 數據類型

 `id` int NOT NULL AUTO_INCREMENT,

3.等價 SQL

select * from `app-cloud`.cl_sation where id = 082;

在這里插入圖片描述

二.隱式轉換場景

在 MySQL 中,隱式類型轉換通常發生在以下幾種場景:

1.字符串和數字混合比較

字符串和數字混合比較:當你試圖將字符串與數字進行比較時,MySQL 會嘗試將字符串轉換為數字。例如:

SELECT * FROM table WHERE column = '123';

如果column是一個數字類型,MySQL 會嘗試將字符串'123'轉換為數字 123。

2.字符串到數字的插入

字符串到數字的插入:當你嘗試將字符串插入到一個數字類型的列時,MySQL 會嘗試將字符串轉換為相應的數字類型。

INSERT INTO table (column) VALUES ('456');

如果column是一個數字類型,MySQL 會將字符串'456'轉換為數字 456。

3.數字到字符串的插入

數字到字符串的插入:相反,如果你嘗試將數字插入到一個字符串類型的列中,MySQL 也會進行隱式轉換。

INSERT INTO table (column) VALUES (789);

如果column是一個字符串類型,MySQL 會將數字 789 轉換為字符串'789'

4.函數參數

函數參數:在調用某些函數時,如果參數的數據類型與函數期望的類型不匹配,MySQL 可能會嘗試進行隱式轉換。

SELECT DATE_ADD('2021-01-01', INTERVAL '1' DAY);

在這個例子中,INTERVAL期望數字類型的參數,但提供了字符串,MySQL 會嘗試將其轉換為數字。

5.ORDER BY 或 GROUP BY 子句

ORDER BY 或 GROUP BY 子句:在使用ORDER BYGROUP BY子句時,如果列的類型與排序/分組表達式中的類型不匹配,MySQL 可能會進行隱式轉換。

SELECT column FROM table ORDER BY 'column';

如果column是字符串類型,而排序表達式是字符串字面量,MySQL 會嘗試將列值轉換為字符串進行排序。

6.CASE WHEN 語句

CASE WHEN 語句:在使用CASE WHEN語句時,如果條件表達式的數據類型與比較值的數據類型不匹配,MySQL 會嘗試進行隱式轉換。

SELECT column FROM table WHERE column = CASE WHEN condition THEN 'value' ELSE 0 END;

7.JOIN 操作

JOIN 操作:在執行 JOIN 操作時,如果連接條件中的列數據類型不匹配,MySQL 可能會嘗試進行隱式轉換以滿足條件。

8.默認值

默認值:當列的默認值是字符串,而插入數據時沒有提供該列的值,MySQL 會嘗試將字符串默認值轉換為列的數據類型。
在這里插入圖片描述

隱式類型轉換是 MySQL 提供的一種靈活性,允許在不同數據類型之間進行操作,但這也可能導致不可預見的結果,特別是當轉換不是按照預期進行時。因此,了解和控制數據類型的轉換對于編寫可靠和高效的 SQL 查詢非常重要。

覺得有用的話點個贊 👍🏻 唄。
??????本人水平有限,如有紕漏,歡迎各位大佬評論批評指正!😄😄😄

💘💘💘如果覺得這篇文對你有幫助的話,也請給個點贊、收藏下吧,非常感謝!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且長,行則將至,讓我們一起加油吧!🌙🌙🌙

img

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/41302.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/41302.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/41302.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ctfshow web入門 nodejs

web334 有個文件下載之后改后綴為zip加壓就可以得到兩個文件 一個文件類似于index.php 還有一個就是登錄密碼登錄成功就有flag username:ctfshow password:123456因為 return name!CTFSHOW && item.username name.toUpperCase() && item.password passwor…

產科管理系統 專科電子病歷系統源碼,前后端分離架構,多家醫院產科廣泛運用,系統穩定,功能齊全

產科管理系統 專科電子病歷系統源碼,前后端分離架構,多家醫院產科廣泛運用,系統穩定,功能齊全 產科管理系統,特別是產科信息管理系統(Obstetrical Information Management System,簡稱OIMS&…

智能井蓋監測系統:守護城市安全的新防線

? ??在快速發展的現代都市中,井蓋作為連接地上與地下世界的“隱形門”,其安全狀態直接關系到市民的生命財產安全。隨著物聯網、大數據及人工智能技術的飛速發展,智能井蓋監測系統的出現為解決傳統井蓋管理難題提供了創新方案&#xff0…

【算法筆記自學】入門篇(2)——算法初步

4.1排序 自己寫的題解 #include <stdio.h> #include <stdlib.h>void selectSort(int A[], int n) {for(int i 0; i < n - 1; i) { // 修正索引范圍int k i;for(int j i 1; j < n; j) { // 修正索引范圍if(A[j] < A[k]) {k j;}}if (k ! i) { // 僅在…

跨境人最怕的封店要怎么規避?

跨境人最怕的是什么&#xff1f;——封店 造成封店的原因很多&#xff0c;IP關聯、無版權售賣、虛假發貨等等&#xff0c;其中IP關聯這個問題導致店鋪被封在跨境商家中簡直是屢見不鮮 IP關聯&#xff0c;是指被海外平臺檢測到多家店鋪開設在同一個站點上的情況。我們知道有些…

賣家必讀:阿里巴巴國際站登錄與入駐全流程

阿里巴巴國際站作為全球最大的B2B電子商務平臺之一&#xff0c;為品牌建立和業務拓展提供了可能。那么跨境賣家如何才能成功登錄和入駐阿里巴巴國際站&#xff1f;本文將講解如何用阿里巴巴國際站網頁版進行登錄&#xff0c;以及阿里巴巴國際站賣家的入駐條件、流程和費用。此外…

統計信號處理基礎 習題解答11-12

題目 證明 的MAP估計量為 其中是一個的矢量, 是一個可逆的p*p的矩陣。也就是說&#xff0c;MAP估計量對可逆的線性變換是可以變換的。 解答 已知的聯合概率密度 且&#xff1a; 現在知道&#xff1a; 那么為了獲得變換后的MAP&#xff0c;首先需要根據求出 根據概率密度變換…

2024年軟件測試面試題,精選100+,附答案+文檔

&#x1f345; 視頻學習&#xff1a;文末有免費的配套視頻可觀看 &#x1f345; 點擊文末小卡片 &#xff0c;免費獲取軟件測試全套資料&#xff0c;資料在手&#xff0c;漲薪更快 Part1 1、你的測試職業發展是什么&#xff1f; 測試經驗越多&#xff0c;測試能力越高。所以我…

C++入門 容器適配器 / stack queue模擬實現

目錄 容器適配器 deque的原理介紹 stack模擬實現 queue模擬實現 priority_queue模擬實現 仿函數 容器適配器 適配器是一種設計模式(設計模式是一套被反復使用的、多數人知曉的、經過分類編目的、代碼設計經驗的總 結)&#xff0c;該種模式是將一個類的接口轉換成客戶希望…

深度學習Week19——學習殘差網絡和ResNet50V2算法

文章目錄 深度學習Week18——學習殘差網絡和ResNet50V2算法 一、前言 二、我的環境 三、論文解讀 3.1 預激活設計 3.2 殘差單元結構 四、模型復現 4.1 Residual Block 4.2 堆疊Residual Block 4.3. ResNet50V2架構復現 一、前言 &#x1f368; 本文為&#x1f517;365天深度學…

Kubernetes k8s 命名空間 namespace 介紹以及應用 資源限額配置

目錄 命名空間 什么是命名空間&#xff1f; namespace應用場景 namespacs使用案例分享 namespace資源限額 文檔中的YAML文件配置直接復制粘貼可能存在格式錯誤&#xff0c;故實驗中所需要的YAML文件以及本地包均打包至網盤 鏈接&#xff1a;https://pan.baidu.com/s/1qv8Tc…

Python中異步事件觸發

1、問題背景 在Python中&#xff0c;我想創建一個由事件生成控制流程的類結構。為此&#xff0c;我做了以下工作&#xff1a; class MyEvent: EventName_FunctionName {}classmethoddef setup(cls, notificationname, functionname):if notificationname in MyEvent.EventN…

ONLYOFFICE 8.1版本震撼來襲,讓辦公更高效、更智能

官網鏈接&#xff1a; 在線PDF查看器和轉換器 | ONLYOFFICE 在線辦公套件 | ONLYOFFICE 隨著科技的不斷發展&#xff0c;辦公軟件已經成為現代企業提高工作效率、實現信息共享的重要工具。在我國&#xff0c;一款名為ONLYOFFICE的在線辦公套件受到了越來越多企業的青睞。今天…

golang中的類型轉換那些事

由于golang是一門強類型的語言&#xff0c; 所以我們在golang的開發中不可避免的會對一些數據類型進行手動轉換&#xff0c;以適應我們的業務需求。 golang中類型轉換的途徑大致有4種&#xff0c;強制轉換&#xff0c;類型斷言&#xff0c;類型匹配 還有使用strconv包中提供的…

[TensorFlow-Lite][深度學習]【快速簡介-1】

前言&#xff1a; 很多場景下面我們需要需要把我們的深度學習模型部署到Android,IOS 手機上面. Google 通過TensorFlow Lite 提供了對應的解決方案. 目錄&#xff1a; 端側部署優點 硬件支持 性能 應用案例 一 端側部署優點 1; 很多場景下面&#xff1a; 無網絡,數據無法…

Hadoop 遠程 debug

Hadoop 命令行 在執行 hadoop fs 命令行之前&#xff0c;先執行以下命令&#xff1a; export HADOOP_CLIENT_OPTS"-Xdebug -Xrunjdwp:transportdt_socket,servery,suspendy,address8000"

昇思25天學習打卡營第10天|基于MindSpore實現BERT對話情緒識別

基于MindSpore實現BERT對話情緒識別 模型簡介數據集模型構建模型驗證模型推理自定義推理數據集 模型簡介 BERT全稱是來自變換器的雙向編碼器表征量&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;&#xff0c;它是Google于2018年末開發并發…

HTML超鏈接和錨鏈接

HTML超鏈接和錨鏈接 一、定義 HTML的超鏈接&#xff08;Hyperlink&#xff09;用于在網頁之間創建鏈接&#xff0c;使用戶可以點擊這些鏈接來導航到其他頁面或資源。 二、基本語法 1、語法 HTML中的超鏈接使用a標簽來定義 <a href"URL">鏈接文本</a&g…

yolov8實戰——yolov8TensorRT部署(python推理)(保姆教學)

yolov8實戰——yolov8TensorRT部署&#xff08;python推理&#xff09;&#xff08;保姆教學&#xff09; 一 、準備好代碼和環境安裝TensorRt下載代碼和安裝環境 部署和推理構建ONNX構建engine無torch推理torch推理 最近用到yolov8&#xff0c;但是尋找了一圈才找到了yolov8最…

[SAP ABAP] 版本管理

版本管理是指軟件開發過程中各種程序代碼、配置文件以及說明文檔等文件變更的管理 生成版本 版本管理 對比版本 點擊上述版本管理即可進行版本對比操作 補充擴展 我們可以使用事務碼SE10對傳輸請求進行創建、修改、刪除、合并以及更改所有者等操作 使用事務碼SCC1進行不同cl…