Php 字母数字列上的MySQL where条件
我的employee表有一个工作级别列,包含1A、1B、1C、2A、2B和2C等值。 员工等级为2C>2B>2A>1C>1B>1A 现在如果我写一个这样的查询:Php 字母数字列上的MySQL where条件,php,mysql,Php,Mysql,我的employee表有一个工作级别列,包含1A、1B、1C、2A、2B和2C等值。 员工等级为2C>2B>2A>1C>1B>1A 现在如果我写一个这样的查询: SELECT * FROM employee WHERE work_level >= 1C 它会返回只包含工作级别1C、2A、2B、2C的行吗 如果没有,我怎么办?是,它将返回所需的行,但请记住在where子句中添加一个倒逗号:: SELECT * FROM employee WHERE work_level >= '1C
SELECT *
FROM employee
WHERE work_level >= 1C
它会返回只包含工作级别1C、2A、2B、2C的行吗
如果没有,我怎么办?是,它将返回所需的行,但请记住在where子句中添加一个倒逗号::
SELECT * FROM employee WHERE work_level >= '1C'
试着这样做: 假设您有一些
工作级别的s和输入,定义如下:
set @work_level1 = '25C';
set @input_work_level1 = '1C';
set @work_level2 = '2C';
set @input_work_level2 = '15C';
set @work_level3 = '2A';
set @input_work_level3 = '1C';
set @work_level4 = '2C';
set @input_work_level4 = '15B';
正在运行以下查询:
select
( cast( left(@work_level1, length(@work_level1)-1) as unsigned )
>=
cast( left(@input_work_level1, length(@input_work_level1)-1) as unsigned )
)
and
right(@work_level1, 1) <= right(@input_work_level1, 1)
as '''25C'' >= ''1C''',
( cast( left(@work_level2, length(@work_level2)-1) as unsigned )
>=
cast( left(@input_work_level2, length(@input_work_level2)-1) as unsigned )
)
and
right(@work_level2, 1) <= right(@input_work_level2, 1)
as '''2C'' >= ''15C''',
( cast( left(@work_level3, length(@work_level3)-1) as unsigned )
>=
cast( left(@input_work_level3, length(@input_work_level3)-1) as unsigned )
)
and
right(@work_level3, 1) <= right(@input_work_level3, 1)
as '''2A'' >= ''1C''',
( cast( left(@work_level4, length(@work_level4)-1) as unsigned )
>=
cast( left(@input_work_level4, length(@input_work_level4)-1) as unsigned )
)
and
right(@work_level4, 1) <= right(@input_work_level4, 1)
as '''2C'' >= ''15B'''
;
“倒逗号”?这是一个引号,不是任何形式的逗号。@Marc B我也从未见过这个表达,但“倒逗号”在英国英语中似乎是“引号”的同义词。。。()
+---------------+---------------+--------------+---------------+
| '25C' >= '1C' | '2C' >= '15C' | '2A' >= '1C' | '2C' >= '15B' |
+---------------+---------------+--------------+---------------+
| 1 | 0 | 1 | 0 |
+---------------+---------------+--------------+---------------+