SQL SERVER 相关知识点记录

本文介绍了SQLServer中优化查询的方法,如使用`UNIQUEIDENTIFIER`类型的GUID的特殊查询,调整大小写敏感性,处理JSON数据(包括获取和修改JSON对象),以及处理日期类型的字段。
摘要由CSDN通过智能技术生成

#工作中碰到的#记录下
 

1、数据库里用了大量的 主键是     UNIQUEIDENTIFIER  类型的  (GUID)
    但有时候查询需要查询 全为0 的情况 比如

    SELECT * FROM USERS WHERE PKUser='00000000-0000-0000-0000-000000000000'

    但实际上可以写为 效果是一样的

    SELECT * FROM USERS WHERE PKUser='0x0'

2、有时候查询英文 需要区分大小写字母  sqlserver 默认是不区分大小写的
    
    可以在查询的时候增加函数  CHINESE_PRC_CS_AS 区分大小写、区分重音
    SELECT * FROM USERS WHERE Name COLLATE CHINESE_PRC_CS_AS ='我是大写A'

3、碰到有JSON存储的列
    Student表内插入一条数据

    INSERT INTO Student(Name,Age,jsonData)
    Valuse('关羽',22,
            '{
                "Hobby": "耍大刀",
                "Gender": "男"
             }'
            )

    1、获取指定JSON对象中的值
        JSON_VALUE(要查询的列,JSON中指定的路径 以$.开头)

        SELECT Name,Age,JSON_VALUE(jsonData,'$.Hobby') AS 爱好,
        From Student
        输出
        关羽,22,耍大刀

    2、修改指定JSON对象中的值
        JSON_MODIFY(要查询的列,JSON中指定的路径 以$.开头,新值内容)并返回修改后的完整json

        修改 关羽的 Hobby 为‘关公爱赤兔’

        
        UPdate Student SET jsonData=  JSON_MODIFY(jsonData,'$.Hobby','关公爱赤兔') 
        WHERE Name='关羽'

        jsonData中的Hobby 值就会被修改为‘关公爱赤兔’

4、处理日期类型的字段
    
    --取指定的年月日  当前时间的 时分秒
    SELECT    
    CAST(
        CAST(CAST('2024-05-20' AS DATE) AS DATETIME)--年月日
        +
        CAST(CAST(GETDATE() AS TIME) AS DATETIME) --时分秒
    as datetime)AS 时间

        


        

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值