如何在 MySQL 5.1 中将 INT 转换为 BIT?

Linda Hamilton
发布: 2024-11-01 16:01:02
原创
1085 人浏览过

How to Convert INT to BIT in MySQL 5.1?

在 MySQL 5.1 中将 Int 转换为位

从 SQL Server 转换到 MySQL 5.1 时,尝试将仅包含以下内容的 INT 列转换为使用 CAST 函数将 0 和 1 添加到 BIT 列失败。 MySQL 不支持将 INT 转换为 BIT。

解决问题

由于直接转换不可行,另一种解决方案是创建一个自定义函数将 INT 转换为BIT:

<code class="sql">DELIMITER $$

CREATE FUNCTION cast_to_bit (N INT) RETURNS bit(1)
BEGIN
    RETURN N;
END
$$</code>
登录后复制

示例用法

要演示该功能,请创建一个将各种值转换为 BIT 的视图:

<code class="sql">CREATE VIEW view_bit AS
    SELECT
        cast_to_bit(0),
        cast_to_bit(1),
        cast_to_bit(FALSE),
        cast_to_bit(TRUE),
        cast_to_bit(b'0'),
        cast_to_bit(b'1'),
        cast_to_bit(2=3),
        cast_to_bit(2=2)</code>
登录后复制

检查使用 DESCRIBE 的视图架构将显示所有列现在都是 BIT:

<code class="sql">DESCRIBE view_bit;</code>
登录后复制

以上是如何在 MySQL 5.1 中将 INT 转换为 BIT?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板