如何获取二进制形式的BIT(')数据类型列的值?
技术问答
295 人阅读
|
0 人回复
|
2023-09-12
|
我有这样一个表:
+ J/ i1 q. o9 p0 E" o m// numbers --------- ------------ | id | numb | --------- ------------ | int(11) | bit(10) | --------- ------------ | 1 | 0000000001 || 2 | 0000000101 || 3 | 0000000000 || 4 | 0000001011 | --------- ------------ 当我获取numb结果将如下:
, g3 M( W; c! }% _) }( ~, J// Querymysql> SELECT numb FROM numbers WHERE id = 2// Fetching by PHP (pdo)$result = $stm->fetch();$numb = $result['numb'];echo $numb;//=> 5正如你所看到的,最终的结果是5。虽然我想以字符串的形式获得确切的值,但我怎么能做到呢?6 N E5 [- C. g! q
$ k5 G! i! \& y/ s8 S3 f; c
解决方案:
6 s/ H0 W" V$ O9 R 您可以使用decbin()函数和sprintf预先添加零, B8 Z; d) K8 N: K2 r
输出:
" z1 x1 R8 R$ G; G) T0000000101根据您的评论:1 n. L- ]$ r+ T# N/ ~: P+ j
12 - 000000110026 - 0000011010更新1:$ |5 a# s, X5 V5 t: q
你可以这样分配$numb变量:
* u/ L. T2 z. @3 @3 Y8 P1 D$numb = sprintf("0d",decbin($result['numb); |
|
|
|
|
|