mysql字符串轉為數字的三種方法、字符串轉日期

隱式轉換

在MySQL中,使用+0運算符可以將一個非數字的值隱式地轉換為數字。這在進行數學運算或比較操作時非常有用。
需要注意的是,在使用+0進行隱式轉換時,MySQL會盡可能將字符串轉換為數字。如果字符串不能轉換為數字,則會返回0。

mysql> select "000123456";
+-----------+
| 000123456 |
+-----------+
| 000123456 |
+-----------+
1 row in set (0.00 sec)
mysql> select "000123456"+0;
+---------------+
| "000123456"+0 |
+---------------+
|        123456 |
+---------------+
1 row in set (0.00 sec)

顯式轉換

CAST

在MySQL中,CAST函數用于將一個表達式轉換為指定的數據類型。它可以用于將一個值轉換為不同的數據類型,例如整數、浮點數、字符串等。CAST函數的語法如下:

CAST(expression AS data_type)

其中,expression是要進行轉換的表達式,data_type是要轉換成的目標數據類型。
使用CAST函數時,需要注意以下幾點:

如果轉換失敗,MySQL會返回一個NULL值。例如,將一個非數字字符串轉換為整數時會失敗。
CAST函數在執行時可能會導致精度損失或溢出,特別是將一個大的值轉換為小的數據類型時。
在某些情況下,可以直接使用類型轉換操作符(如+0)來進行類型轉換,這通常比使用CAST函數更高效。

mysql> select CAST("000123456" AS SIGNED);
+-----------------------------+
| CAST("000123456" AS SIGNED) |
+-----------------------------+
|                      123456 |
+-----------------------------+
1 row in set (0.01 sec)mysql> select CAST("000123456" AS UNSIGNED);
+-------------------------------+
| CAST("000123456" AS UNSIGNED) |
+-------------------------------+
|                        123456 |
+-------------------------------+
1 row in set (0.00 sec)mysql> select CAST("-000123456" AS SIGNED);
+------------------------------+
| CAST("-000123456" AS SIGNED) |
+------------------------------+
|                      -123456 |
+------------------------------+
1 row in set (0.00 sec)mysql> select CAST("-000123456" AS DECIMAL);
+-------------------------------+
| CAST("-000123456" AS DECIMAL) |
+-------------------------------+
|                       -123456 |
+-------------------------------+
1 row in set (0.02 sec)mysql> select CAST("000123456" AS DECIMAL);
+------------------------------+
| CAST("000123456" AS DECIMAL) |
+------------------------------+
|                       123456 |
+------------------------------+
1 row in set (0.00 sec)

CONVERT

在MySQL中,可以使用CONVERT()函數來轉換數據類型或格式。該函數用于將一個表達式轉換為指定的數據類型或格式。
CONVERT()函數的語法如下:

CONVERT(expression, data_type)

其中,expression是要進行轉換的表達式,data_type是要轉換成的目標數據類型。
需要注意的是,CONVERT()函數可以用于日期和時間類型的轉換,并且可以指定日期格式。

mysql> select CONVERT("000123456", SIGNED);
+------------------------------+
| CONVERT("000123456", SIGNED) |
+------------------------------+
|                       123456 |
+------------------------------+
1 row in set (0.02 sec)mysql> select CONVERT("000123456", UNSIGNED);
+--------------------------------+
| CONVERT("000123456", UNSIGNED) |
+--------------------------------+
|                         123456 |
+--------------------------------+
1 row in set (0.00 sec)mysql> select CONVERT("000123456", DECIMAL);
+-------------------------------+
| CONVERT("000123456", DECIMAL) |
+-------------------------------+
|                        123456 |
+-------------------------------+
1 row in set (0.00 sec)mysql> select CONVERT("-000123456", SIGNED);
+-------------------------------+
| CONVERT("-000123456", SIGNED) |
+-------------------------------+
|                       -123456 |
+-------------------------------+
1 row in set (0.00 sec)mysql> select CONVERT("-000123456", DECIMAL);
+--------------------------------+
| CONVERT("-000123456", DECIMAL) |
+--------------------------------+
|                        -123456 |
+--------------------------------+
1 row in set (0.00 sec)

字符串轉日期

下面是一個使用CONVERT函數將日期從一種格式轉換為另一種格式的示例:

mysql> SELECT CONVERT('2023-11-23', DATE) AS converted_date;
+----------------+
| converted_date |
+----------------+
| 2023-11-23     |
+----------------+
1 row in set (0.00 sec)

在上面的示例中,日期’2019-12-31’被轉換為DATE格式,并存儲在名為converted_date的列中。

你還可以在轉換時使用其他日期格式。下面是一些常見的日期格式:

DATE: 日期格式 (YYYY-MM-DD)
TIME: 時間格式 (HH:MM:SS)
DATETIME: 日期時間格式 (YYYY-MM-DD HH:MM:SS)
YEAR: 年份格式 (YYYY)
如果你想將日期轉換為特定的格式,只需在CONVERT函數的第二個參數中指定所需的格式。

參考

https://dev.mysql.com/doc/refman/5.7/en/cast-functions.html#function_convert
https://dev.mysql.com/doc/refman/5.7/en/cast-functions.html#function_cast

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

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

相關文章

【解決】HDFS JournalNode啟動慢問題排查

文章目錄 一. 問題描述二. 問題分析1. 排查機器性能2. DNS的問題 三. 問題解決 一句話:因為dns的問題導致journalnode啟動時很慢,通過修復dns對0.0.0.0域名解析,修復此問題。 一. 問題描述 從journalnode啟動到服務可用,完成RPC…

使用Python將圖片轉換為PDF

將圖片轉為 PDF 的主要原因之一是為了方便共享和傳輸。此外,將多張圖片合并成一個 PDF 文件還可以簡化文件管理。之前文章詳細介紹過如何使用第三方庫Spire.PDF for Python將PDF文件轉為圖片,那么本文介紹使用同樣工具在Python中實現圖片轉PDF文件的功能…

【OpenCV+OCR】計算機視覺:識別圖像驗證碼中指定顏色文字

文章目錄 1. 寫在前面2. 讀取驗證碼圖像3. 生成顏色掩碼4. 生成黑白結果圖5. OCR文字識別6. 測試結果 【作者主頁】:吳秋霖 【作者介紹】:Python領域優質創作者、阿里云博客專家、華為云享專家。長期致力于Python與爬蟲領域研究與開發工作! 【…

Spring Security(安全框架,必須登錄成功才能訪問指定資源)

一、背景知識 1、Spring Security 是一個能夠為基于Spring的企業應用系統提供聲明式的安全訪問控制解決方案的安全框架。它提供了一組可以在Spring應用上下文中配置的Bean,充分利用了Spring IoC,DI(IOC: 控制反轉Inversion of Control ,DI:D…

24路電磁鎖控板的特點和主要參數

智能快遞柜、智能生鮮柜、電子存儲柜、超市寄存柜、智能送餐柜、電子更衣柜、檔案柜等物聯網終端設備,都是采用電磁鎖控制,這種電磁鎖控制板俗稱鎖控板。鎖控板可以遠程控制儲物柜的開關以及遠程監控并提供鎖的反饋信號。沐渥開發的24路電磁鎖控板可以控…

AI:87-基于深度學習的街景圖像地理位置識別

?? 本文選自專欄:人工智能領域200例教程專欄 從基礎到實踐,深入學習。無論你是初學者還是經驗豐富的老手,對于本專欄案例和項目實踐都有參考學習意義。 ??? 每一個案例都附帶有在本地跑過的代碼,詳細講解供大家學習,希望可以幫到大家。歡迎訂閱支持,正在不斷更新中,…

OpenAI 曾收到 AI 重大突破警告;半獨立的 OpenAI 比與微軟合并更好丨 RTE 開發者日報 Vol.91

開發者朋友們大家好: 這里是 「RTE 開發者日報」 ,每天和大家一起看新聞、聊八卦。我們的社區編輯團隊會整理分享 RTE (Real Time Engagement) 領域內「有話題的 新聞 」、「有態度的 觀點 」、「有意思的 數據 」、「有思考的 文…

ubuntu下docker環境使用GPU配置

本文主要講述整個命令流程,具體講解請看官網nvidia-容器工具包和一篇總結得很詳細的博文docker使用GPU總結 docker的版本必須安裝19.0版本以上的,這里也只講19.0版本以上的使用方法 首先設置一下網絡信息 curl -fsSL https://nvidia.github.io/libnvi…

LeetCode131. Palindrome Partitioning

文章目錄 一、題目二、題解 一、題目 Given a string s, partition s such that every substring of the partition is a palindrome . Return all possible palindrome partitioning of s. Example 1: Input: s “aab” Output: [[“a”,“a”,“b”],[“aa”,“b”]] Exa…

工具【1、計算時間差2、獲取當天時間前后七天時間3、根據當前數據的位置,在數組中插入數據4、數組中,某個屬性相同的數據放在一塊,如把某個日期相同的相連一起】

生成UUID /*** 唯一的隨機字符串,用來區分每條數據* returns {string}*/ export function getUid() {return xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx.replace(/[xy]/g, (c) > {const r (Math.random() * 16) | 0;const v c x ? r : (r & 0x3) | 0x8;retu…

【圖文詳解】SiamFC++與圖注意力的強強聯合:單目標追蹤系統

1.研究背景與意義 隨著計算機視覺技術的不斷發展,單目標追蹤(Single Object Tracking, SOT)作為計算機視覺領域的一個重要研究方向,已經在許多實際應用中得到了廣泛的應用。單目標追蹤系統可以通過分析視頻序列中的目標運動&…

服務器流量包扣減規則

服務器買的流量包,一般指的是上行帶寬,下行通常是不限的 上行和下行是針對服務器而言的 客戶端上傳文件給服務器,對服務器而言它是在下載,所以對服務器而言他是用的下行帶寬(下行流量) 客戶端從服務器下載文件,對服務器而言它是在上傳,所以對服務器而言他是用的上行帶寬(上行…

大數據量條件SQL查詢內存處理方案以及數據過濾算法優化

MySQL是一個廣泛使用的關系型數據庫管理系統。通過SQL語言進行數據操作和查詢,還支持多用戶、多線程和分布式操作等功能。 在實際使用中,我們會遇到各種查詢條件,如字段名、表名、邏輯運算符、比較運算符、函數等。其中,有些查詢…

淺析智慧社區建設趨勢及AI大數據監管平臺方案設計

一、背景與需求 伴隨著社會與經濟的發展,人們對生活質量的要求越來越高,與此同時,新興技術的進步也促進了智慧社區市場的逐步成熟。智慧社區是社區管理的一種新理念,是新形勢下城市與社會管理的一種創新模式。 在上海、杭州、深…

在.bashrc文件修改環境變量的做法

作者:朱金燦 來源:clever101的專欄 為什么大多數人學不會人工智能編程?>>> ~/.bashrc文件是linux下保存環境變量的系統文件。原以為使用sed命令修改.bashrc文件,實際上不行,需要使用echo命令。具體示例如下…

02-詳細介紹Java8新特性方法引用,構造引用,數組引用

方法/構造/數組引用 方法引用 當要傳遞給Lambda體的操作已經有實現的方法時就可以使用方法引用,方法引用和構造器引用就是為了簡化Lambda表達式 方法引用可以看做是Lambda表達式深層次的表達,方法引用本質還是Lambda表達式所以也是函數式接口的一個實例通過方法的名字來指向…

小紅書關鍵詞搜索商品列表API接口(分類ID搜索商品數據接口,商品詳情接口)演示案例

通過關鍵詞搜索商品API接口,電商平臺可以為消費者提供一個簡單、快捷的商品搜索功能。用戶只需輸入關鍵詞,就可以得到與該關鍵詞相關的商品列表。關鍵詞搜索商品API接口還可以提供給第三方開發者一個便捷的商品搜索服務。開發者可以利用該接口&#xff0…

Mac安裝配置typescript及在VSCode上運行ts

一、Mac上安裝typescript sudo npm install -g typescript 測試一下:出現Version則證明安裝成功 tsc -v 二、在VSCode上運行 新建一個xxx.ts文件,測試能否運行 console.log("helloworld") 運行報錯:ts-node: command not…

后滲透持久性-– 服務控制管理器

執行以下命令將快速檢索服務控制管理器實用程序的 SDDL 權限。 sc sdshow scmanager服務控制管理器 – 安全描述符 PowerShell 還可用于枚舉所有用戶組的 SDDL 權限并將其轉換為可讀格式。 $SD Get-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Schedule\S…

shell 條件語句 if case

目錄 測試 test測試文件的表達式 是否成立 格式 選項 比較整數數值 格式 選項 字符串比較 常用的測試操作符 格式 邏輯測試 格式 且 (全真才為真) 或 (一真即為真) 常見條件 雙中括號 [[ expression ]] 用法 &…