mysql查询格式化列,MySQL-搜索列值的格式化组合

I have a database where a table has, amongst other, two columns: group and article. Both are int but is always formatted before shown to the user:

The group is always shown as 2 digits, with leading zeros if

needed.

The article is always shown as 4 digits, with leading zeros

if needed.

The group and article are separated with a dash -

Example:

An item with group = 1 and article = 23 will be shown to the user as 01-0023.

Moving on.

I have a php-script in which as user can search for an article. The user will of course write the article in the formatted way. The script I have today, uses regular expressions to separate a search for an article from free-text and then isolates the group and article from each other before searching the database.

My question is, is it possible to pass the formatted string (e.g. 01-0023) in the query instead and if so, how would I manipulate the SQL?

解决方案

If you want a comparison to a value shown to the user, you can do:

where `group` = substring_index(@Group_Article, '-', 1) + 0 AND

`article` = substring_index(@Group_Article, '-', -1) + 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值