如何在mysql中使用if语句向字符串值添加文本
我想检查schoolid是否为1,然后在明年以两位数的形式将连字符添加到record.year中 例如,如果record.year=1997,schools.schoolid=1,那么我希望record.year返回1997-98如何在mysql中使用if语句向字符串值添加文本,mysql,sql,date,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, conferen
$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.year
的类型为INT
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,
....
对于
record.year=1997和schools.schoolid=5
,它应该返回1997-02
?哦,忽略上面的内容,我没有看到schoolid=1
限制。