【发布时间】:2021-04-30 10:03:17
【问题描述】:
编写一条 SQL 语句,显示电影表中电影的所有列。 仅显示标题不包含以下任何字母的电影:A E R T(任何大小写)
我尝试将查询写成
SELECT '103040698' as StudID, MovieNo, Title,RelYear, RunTime, RatingCode, ColourCode, TMDB_Score, TMDB_Votes, IMDB_ID
FROM Movie0698
WHERE NOT Title LIKE '%A%'
(or NOT Title LIKE '%E%')
(or NOT Title LIKE '%R%')
(or NOT Title LIKE '%T%')
甚至
SELECT '103040698' as StudID, MovieNo, Title,RelYear, RunTime, RatingCode, ColourCode, TMDB_Score, TMDB_Votes, IMDB_ID
FROM Movie0698
WHERE NOT Title LIKE ('%[aA][eE][rR][tT]%')
甚至
SELECT '103040698' as StudID, MovieNo, Title,RelYear, RunTime, RatingCode, ColourCode, TMDB_Score, TMDB_Votes, IMDB_ID
FROM Movie0698
WHERE (NOT Title LIKE '%a%' AND NOT Title LIKE '%A%')
OR (NOT Title LIKE '%e%' AND NOT Title LIKE '%E%')
OR (NOT Title LIKE '%r%' AND NOT Title LIKE '%R%')
OR (NOT Title LIKE '%t%' AND NOT Title LIKE '%T%')
ORDER BY Title DESC;
但无论哪种方式,我仍然会得到标题中包含这些字母中的一个大写或小写的电影的结果
顺便说一句,我使用的是 SQLjunior,我认为它区分大小写
【问题讨论】:
-
您的实际数据库是什么? SQL 只是一种语言,但您的数据库可能是 MySQL、SQL Server、Oracle、Postgres...或其他。
标签: sql sql-like case-sensitive case-insensitive