我有一个varchar(30)列,如下所示:
953-41
975-12
952-13
934-34
该列的所有数字共享以下结构:3个数字和短划线后跟更多数字。
我想创建一个类似SELECT * FROM tablename WHERE value = 95341
的查询
仅使用WHERE子句中的数字获得'953-41'。
我无法更改我的数据库并删除破折号,我需要使用数字值搜索混合我想要的数字的行和中间的短划线。
答案 0 :(得分:3)
MYSQL:
function postData(req,res){
Upload(req, res, function (error) {
if (error) {
res.status(400).send(error);
}
console.log("New photo added");
console.log(req.files);
fs.readFile(req.files.gallerypic.path, function(err, data) {
if(err) {
console.log("Error in reading pic from disk");
}
else {
fs.writeFile('newpic.jpg', data, 'binary', function(err) {
if(err) {
console.log("Error in writing pic to disk");
}
});
}
});
res.redirect('/profile');
})
}
SQL Server:
SELECT * FROM tablename WHERE value = INSERT(95341,4,0,'-')
答案 1 :(得分:1)
你可以用这个:
SELECT *
FROM yourTable
WHERE CAST(REPLACE(colName, '-', '') AS UNSIGNED) = 95341