首页  >  文章  >  数据库  >  如何在 MySQL 5.1 中将 INT 转换为 BIT?

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

Linda Hamilton
Linda Hamilton原创
2024-11-01 16:01:021081浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn