1.mysql数据库中存在生日字段,格式为’-**‘或’.**',前面的四个字段为年,后面的两个字段为月,如何转化为仅剩年的字段并返回一个为year的值?
SELECT
CASE
WHEN BIRTH_DATE LIKE '____-__' THEN SUBSTRING_INDEX(BIRTH_DATE, '-', 1)
WHEN BIRTH_DATE LIKE '____.__' THEN SUBSTRING_INDEX(BIRTH_DATE, '.', 1)
ELSE NULL -- 或者其他默认值
END AS year
FROM
cltms_enterprise_talent_cache;
2.select CORPORATE_GOVERNANCE from cltms_enterprise_talent_cache where CORPORATE_GOVERNANCE=‘党委会’ 以此为例,查出类似’党委会’的信息 的语句
SELECT CORPORATE_GOVERNANCE
FROM cltms_enterprise_talent_cache
WHERE CORPORATE_GOVERNANCE LIKE '%党委会%';
这里,%是一个通配符,它表示任意数量的任意字符。因此,'%党委会%'会匹配任何包含'党委会'这个子串的字符串。
3.select count(*) from cltms_enterprise_talent_cache where POLITICAL_OUTLOOK=‘中共党员’; A
SELECT count(*) FROM cltms_enterprise_talent_cache WHERE POLITICAL_OUTLOOK != ‘中共党员’;B
select count(*) from cltms_enterprise_talent_cache;C
需求:计算A/C 和B/C的百分比
-- 计算A/C的百分比
SELECT
(SELECT COUNT(*) * 1.0 FROM cltms_enterprise_talent_cache WHERE POLITICAL_OUTLOOK = '中共党员') /
(SELECT COUNT(*) * 1.0 FROM cltms_enterprise_talent_cache) * 100 AS percentage_party_member
UNION ALL
-- 计算B/C的百分比
SELECT
(SELECT COUNT(*) * 1.0 FROM cltms_enterprise_talent_cache WHERE POLITICAL_OUTLOOK != '中共党员') /
(SELECT COUNT(*) * 1.0 FROM cltms_enterprise_talent_cache) * 100 AS percentage_non_party_member;
在这个更新后的查询中,我们将每个子查询中的COUNT(*)结果乘以了1.0,以确保在进行除法运算时得到的是浮点数结果。这样,最终计算出的百分比也会是浮点数。
4.select gg_update_datetime from BIZ_LIMIT_PERSON_REP 对搜索到的结果只取前四位数字,如何修改查询语句
SELECT YEAR(gg_update_datetime) AS year_only
FROM BIZ_LIMIT_PERSON_REP;