如何利用MySQL查詢varbinary中存儲(chǔ)的數(shù)據(jù)
MySQL查詢varbinary的數(shù)值
如何利用MySQL查詢varbinary中存儲(chǔ)的數(shù)據(jù)?這里記錄下例子
SELECT ORD(SUBSTRING(`binary_column`, 1, 1)) AS converted_value FROM `TableName`;
上述語句中,SUBSTRING(binary_column, 1, 1) 會(huì)提取字段中的第一個(gè)字節(jié)。然后,ORD() 函數(shù)會(huì)將該字節(jié)轉(zhuǎn)換為對(duì)應(yīng)的 ASCII 值,因?yàn)?unpack() 函數(shù)返回的是一個(gè)字節(jié)流。
這樣,你將得到一個(gè)名為 converted_value 的列,其中存儲(chǔ)了通過 MySQL 查詢得到的值為 1 的整數(shù)。
請(qǐng)注意,這種方法假設(shè)字段中的值是按照字節(jié)順序存儲(chǔ)的。如果存儲(chǔ)方式不同,可能需要相應(yīng)地調(diào)整提取和轉(zhuǎn)換的邏輯。
用 php的 unpack 函數(shù)解析的形式,比如上面的例子,要解出一個(gè)整型(int32)可以這樣表示,unpack('Iintval', $bindata)
mysql中varbinary什么意思_sql中varbinary 是什么數(shù)據(jù)類型
varbinary 類型和char與varchar類型是相似的,只是他們存儲(chǔ)的是32313133353236313431303231363533e59b9ee7ad9431333431363564二進(jìn)制數(shù)據(jù),也就是說他們是包含字節(jié)流而不是字符流,他們有二進(jìn)制字符的集合和順序,他們的對(duì)比,排序是基于字節(jié)的數(shù)值進(jìn)行的
binary與varbinary的最大長度和char與varchar是一樣的,只不過他們是定義字節(jié)長度,而char和varchar對(duì)應(yīng)的是字符長度。Varbinary是一個(gè)可以改變長度的二進(jìn)制數(shù)據(jù)。
Varbinary[(n)] 是 n 位變長度的二進(jìn)制數(shù)據(jù)。其中,n 的取值范圍是從 1 到 8000。其存儲(chǔ)窨的大小是 n + 4個(gè)字節(jié),不是n 個(gè)字節(jié)。
varbinary在插入不會(huì)去填補(bǔ)0x00字節(jié),查詢的時(shí)候也不會(huì)丟棄任何字節(jié),在比較的時(shí)候,所有的字節(jié)都是有效的,并且0x00

擴(kuò)展資料:
varbinary( n | max):可變長度,n 的取值范圍為 1 至 8,000,max 是指最大存儲(chǔ)空間是 2^31-1 個(gè)字節(jié),即最大4GB;
在將數(shù)據(jù)轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)時(shí),SQL Server會(huì)對(duì)生成的二進(jìn)制數(shù)據(jù)進(jìn)行填充或截?cái)啵敿?xì)的規(guī)則是:
1、填充(或擴(kuò)展)的二進(jìn)制數(shù)據(jù)是16進(jìn)制的0x00的整數(shù)倍,這就是說,填充的字節(jié)中每一個(gè)bit都是0;
2、將字符類型轉(zhuǎn)換成二進(jìn)制數(shù)據(jù)時(shí),在數(shù)據(jù)的右側(cè)填充或截?cái)鄶?shù)據(jù),填充數(shù)值是0x00;
3、將其他類型數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制數(shù)據(jù)時(shí),在數(shù)據(jù)的左側(cè)填充或截?cái)鄶?shù)據(jù),填充數(shù)值是0x00;在截?cái)鄶?shù)據(jù)時(shí),保留低位的數(shù)據(jù),將高位數(shù)值截?cái)唷?/p>
到此這篇關(guān)于MySQL查詢varbinary的數(shù)值的文章就介紹到這了,更多相關(guān)mysql查詢varbinary內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL show process命令監(jiān)控診斷數(shù)據(jù)庫性能詳解
這篇文章主要為大家介紹了MySQL show process命令監(jiān)控診斷數(shù)據(jù)庫性能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
MySQL數(shù)據(jù)庫Shell import_table數(shù)據(jù)導(dǎo)入
本文我們介紹一款高效的數(shù)據(jù)導(dǎo)入工具,MySQL Shell 工具集中的import_table,該工具的全稱是Parallel Table Import Utility,需要的朋友請(qǐng)參考下文2021-08-08
MySQL使用TEXT/BLOB類型的知識(shí)點(diǎn)詳解
在本篇文章里小編給大家整理的是關(guān)于MySQL使用TEXT/BLOB類型的幾點(diǎn)注意內(nèi)容,有興趣的朋友們學(xué)習(xí)下。2020-03-03
mysql 5.6.23 winx64.zip安裝詳細(xì)教程
這篇文章主要介紹了mysql 5.6.23 winx64.zip安裝詳細(xì)教程,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02
MySQL 那些常見的錯(cuò)誤設(shè)計(jì)規(guī)范,你都知道嗎
今天來看一看 MySQL 設(shè)計(jì)規(guī)范中幾個(gè)常見的錯(cuò)誤例子,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-07-07

