mysql - 如何在mysql中使用if语句将文本添加到字符串值

标签 mysql sql date

我想检查schoolid是否为1,然后在record.year中以两位数的形式添加下一年的连字符

例如,如果 record.year = 1997,且 schools.schoolid =1,那么我希望 record.year 返回 1997-98。

$sqlquery = 'SELECT 
        record.year, 
        schools.school, 
        schools.schoolid, 
        sports.sport, 
        conferences.conference, 
        record.year 
    FROM 
        `record`,
        `schools`,
        `conferences`, 
        `sports` 
    WHERE 
        schools.schoolid = record.schoolid 
    AND 
        sports.sportid = record.sportid 
    AND 
        record.conferenceid = conferences.conferenceid';    

最佳答案

假设record.yearINT类型,

SELECT    
IF
(
   schools.schoolid = 1,
   CONCAT(record.year,'-',RIGHT(record.year+1,2)),
   record.year
) AS year,
schools.school,
....

如果 record.year 是 varchar 在添加连字符时将其转换为数字:

SELECT    
IF
(
   schools.schoolid = 1,
   CONCAT(record.year,'-',RIGHT(CAST(record.year AS SIGNED)+1,2)),
   record.year
) AS year,
schools.school,
....

关于mysql - 如何在mysql中使用if语句将文本添加到字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5922677/

相关文章:

php - 在 php 中使用三个查询中第一个的插入 ID

sql - 选择最大项目数,获取排名和百分位数

python - 如何从 Django 模板中的查询集中获取日期名称?

mysql子查询取决于字段值

mysql - 快速将值插入 MySQL 数据库

sql - 如何在 DBeaver 中漂亮地格式化我的 SQL 查询?

sql - 如何设置具有不同数量的特定类型外键的表

python - 使用 python 生成重复日期?

java - 如何将 24 小时时间字符串转换为标准 java 日期,反之亦然?

php - 海量数据导入,Wordpress php & mysql