mysql - 如何使用数字搜索 varchar 列?

标签 mysql sql

我有一个 varchar(30) 列,如下所示:

953-41
975-12
952-13
934-34

该列的所有数字都采用以下结构:3 个数字和一个短划线后跟更多数字。

我想做一个像 SELECT * FROM tablename WHERE value = 95341 这样的查询
并且仅使用 WHERE 子句中的数字获取 '953-41'。

我无法更改我的数据库并删除破折号,我需要在混合了我想要的数字和中间破折号的行上使用数值进行搜索。

最佳答案

你可以试试:

数据库:

SELECT * FROM tablename WHERE value = INSERT(95341,4,0,'-')

SQL服务器:

SELECT * FROM tablename WHERE value = STUFF(95341,4,0,'-')

关于mysql - 如何使用数字搜索 varchar 列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45924137/

相关文章:

mysql - 从 Qt C++ 备份 mysql 数据库

php - 读取和写入 mysql

php - 无法执行插入查询?

MySql 转换选择查询以更新

mysql - Mysql 中的 Error#1221 是什么,是这个 SqlQuery 中的基本问题?

sql - 在 where 子句中合并两个 CONTAINS 调用

mysql - 当我们在mySQL中使用UNION时,如何获取不同列上的查询结果?

sql按多个属性对行进行分组

java - 添加到数据库 rest webservice

sql - 如何获得 Postgres 中两个字段的 MIN()?