Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

mysql varchar转int

作者:硝烟   发布日期:2026-06-18   浏览:39

-- 将VARCHAR类型的列转换为INT类型
-- 示例:假设有一个表 `users`,其中有一列 `age` 是 VARCHAR 类型,现在要将其转换为 INT 类型

-- 1. 首先,确保所有数据都可以安全转换为整数
SELECT age, CAST(age AS SIGNED) 
FROM users 
WHERE age REGEXP '^-?[0-9]+$';  -- 检查是否为有效的整数格式

-- 2. 如果确认数据可以转换,则可以进行以下操作
ALTER TABLE users 
MODIFY COLUMN age INT;

-- 注意:在执行 ALTER TABLE 之前,请确保备份数据,以防意外数据丢失或损坏。

解释说明:

  1. 检查数据:首先使用 SELECT 语句和正则表达式 (REGEXP) 来检查 age 列中的数据是否都是有效的整数格式。这一步非常重要,以避免在转换过程中出现错误。
  2. 修改表结构:如果确认所有数据都可以安全转换,则使用 ALTER TABLE 语句将 age 列的类型从 VARCHAR 修改为 INT

如果你只需要返回代码部分而不包含解释说明,以下是代码部分:

SELECT age, CAST(age AS SIGNED) 
FROM users 
WHERE age REGEXP '^-?[0-9]+$';

ALTER TABLE users 
MODIFY COLUMN age INT;

上一篇:mysql bit

下一篇:mysql加索引sql

大家都在看

mysql二级索引

mysqlavg函数保留小数

mysql显示表内容

mysql经纬度距离计算

mysql 加密

存储过程mysql

mysql 1265

mysql with语句

mysql时间加减

mysql查询表名,模糊匹配

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站