如果字段的格式为datetime 格式,这种格式下,直接用like进行日期的模糊查询是没有结果的,我们可以使用convert()来转换datetimevarchar
    SQL Server 使用科威特算法来支持阿拉伯样式的日期格式。

    不带世纪数位 (yy) (1) 带世纪数位 (yyyy) Standard 输入/输出 (3)
    - 0 或 100 (1,2) datetime 和 smalldatetime 的默认值 mon dd yyyy hh:miAM(或 PM)
    1 101 美国 1 = mm/dd/yy
    101 = mm/dd/yyyy
    2 102 ANSI 2 = yy.mm.dd
    102 = yyyy.mm.dd
    3 103 英国/法国 3 = dd/mm/yy
    103 = dd/mm/yyyy
    4 104 德语 4 = dd.mm.yy
    104 = dd.mm.yyyy
    5 105 意大利语 5 = dd-mm-yy
    105 = dd-mm-yyyy
    6 106(1) - 6 = dd mon yy
    106 = dd mon yyyy
    7 107(1) - 7 = Mon dd, yy
    107 = Mon dd, yyyy
    8 或 24 108 - hh:mi:ss
    - 9 或 109 (1,2) 默认格式 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)
    10 110 USA 10 = mm-dd-yy
    110 = mm-dd-yyyy
    11 111 日本 11 = yy/mm/dd
    111 = yyyy/mm/dd
    12 112 ISO 12 = yymmdd
    112 = yyyymmdd
    - 13 或 113 (1,2) 欧洲默认格式 + 毫秒 dd mon yyyy hh:mi:ss:mmm(24 小时制)
    14 114 - hh:mi:ss:mmm(24 小时制)
    - 20 或 120 (2) ODBC 规范 yyyy-mm-dd hh:mi:ss(24 小时制)
    - 21、25 或 121 (2) time、date、datetime2 和 datetimeoffset 的 ODBC 规范(带毫秒)默认值 yyyy-mm-dd hh:mi:ss.mmm(24 小时制)
    22 - 美国 mm/dd/yy hh:mi:ss AM(或 PM)
    - 23 ISO8601 yyyy-mm-dd
    - 126 (4) ISO8601 yyyy-mm-ddThh:mi:ss.mmm(无空格)

    注意: 毫秒 (mmm) 值为 0 时,不会显示毫秒小数部分的值。 例如,值“2012-11-07T18:26:20.000”显示为“2012-11-07T18:26:20”。 | | - | 127(6, 7) | 带时区 Z 的 ISO8601。 | yyyy-MM-ddThh:mm:ss.fffZ(不带空格)

    注意: 毫秒 (mmm) 值为 0 时,不会显示毫秒小数值。 例如,值“2012-11-07T18:26:20.000”显示为“2012-11-07T18:26:20”。 | | - | 130 (1,2) | 回历 (5) | dd mon yyyy hh:mi:ss:mmmAM

    在此样式中,mon 表示完整月份名称的多标记回历 unicode 表示形式。 该值在 SSMS 的默认 US 安装中不会正确呈现。 | | - | 131 (2) | 回历 (5) | dd/mm/yyyy hh:mi:ss:mmmAM |

    1 这些样式值返回不确定的结果。 包括所有 (yy)(不带世纪数位)样式和一部分 (yyyy)(带世纪数位)样式。
    2 默认值(0 或 100、9 或 109、13 或 113、20 或 120,23,以及 21、25 或 121)始终返回世纪位数 (yyyy) 。
    3 转换为 datetime 时输入;转换为字符数据时输出。
    4 为用于 XML 而设计。 对于从 datetime 或 smalldatetime 到字符数据的转换,请参阅上一个表,查看输出格式 。
    5 回历是有多种变体的日历系统。 SQL Server 使用科威特算法。

    现在,用这方法来筛选97年12月的数据

    1. select * from dept where convert(varchar,create_time,21) like '2022-05%';