You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Microsoft SQL Server中基于正则表达式创建格式验证标志

判断手机号是否以0开头的布尔标志实现方案

针对你的Test数据集,下面分不同主流SQL数据库给出实现布尔标志的具体写法:

核心说明

你提到的Cell LIKE '^0%'是正则表达式的写法,大部分SQL的LIKE语法不支持^作为开头锚定符,直接用'0%'即可匹配以0开头的字符串。

MySQL/MariaDB

可以用CASE表达式或IF函数生成标志,MySQL中布尔值本质是tinyint类型(1为真,0为假):

SELECT 
    ID,
    Cell,
    -- 返回1/0数值标志
    CASE WHEN Cell LIKE '0%' THEN 1 ELSE 0 END AS Is_Start_With_0,
    -- 返回布尔类型标志
    IF(Cell LIKE '0%', TRUE, FALSE) AS Is_Start_With_0_Bool
FROM Test;

SQL Server

使用CASE表达式结合BIT类型生成布尔标志:

SELECT 
    ID,
    Cell,
    -- 返回BIT类型布尔标志
    CASE WHEN Cell LIKE '0%' THEN CAST(1 AS BIT) ELSE CAST(0 AS BIT) END AS Is_Start_With_0,
    -- 返回1/0数值标志
    CASE WHEN Cell LIKE '0%' THEN 1 ELSE 0 END AS Is_Start_With_0_Num
FROM Test;

PostgreSQL

支持原生布尔类型,可直接转换或用CASE:

SELECT 
    ID,
    Cell,
    -- 直接转换为布尔类型
    (Cell LIKE '0%')::BOOLEAN AS Is_Start_With_0,
    -- 用CASE表达式实现
    CASE WHEN Cell LIKE '0%' THEN TRUE ELSE FALSE END AS Is_Start_With_0_Alt
FROM Test;

内容的提问来源于stack exchange,提问作者Kieren Duffy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 11:42:13