Salesforce查询语句:SOQL和SOSL

一、SOQL(Salesforce Object Query Language,Salesforce对象查询语言):

        1.使用场合:已知数据在哪个object中

        2.注意点:

                (1)在SOQL中,SELECT语句不能使用通配符(*)来查询。如果想要查询全部字段,可以使用下面的方式:

                        ①SELECT FIELDS(ALL) FROM OBJECT   查询object的全部字段

                        ②SELECT FIELDS(CUSTOM) FROM OBJECT   查询object的自定义字段

                        ③SELECT FIELDS(STANDARD) FROM OBJECT   查询object的标准字段

                (2)如果查找的内容中包括单引号,那么要在前面加上转义符【\】,例如:

                        SELECT Id FROM Account WHERE Name LIKE 'Bob\'s BBQ'

                (3)SOQL查询语句也可以使用别名命名Object,如Account a。

                (4)LIKE关键字:

                        ①LIKE支持%和_,%代表0个以及以上字符,_代表一个字符。
                        ②LIKE后面的值要用单引号括起来,并且LIKE只支持文字列查询。
                        ③LIKE的查询不区分大小写。

                (5)IN关键字:查询多个符合条件的数据,相反的关键字是NOT IN。

                (6)IN /NOT IN关键字限制:

                        ①一个WHERE句中最多只能用两个IN或NOT IN。
                        ②准結合和反結合不能和NOT关键字一起使用

                (7)INCLUDES和EXCLUDES关键字:用于选择list中的包含和不包含。

                (8)准結合:在查询中的IN关键字包含子查询。

                         SELECT Id, Name 
                         FROM Account 
                         WHERE Id IN 
                            ( SELECT AccountId
                            FROM Opportunity
                            WHERE StageName = 'Closed Lost' 
                            )

                        反结合:在查询中的NOT IN关键字包含子查询。

                          SELECT Id 
                          FROM Account 
                          WHERE Id NOT IN
                            (SELECT AccountId
                              FROM Opportunity
                              WHERE IsClosed = false
                             )

                (9)SOQL中的日期类型查询:

                        ①日期类型:YYYY-MM-DD,如1999-01-01
                            时间类型:YYYY-MM-DDThh:mm:ssZ,如1999-01-01T23:01:01Z
                        ②查询的时候,在日期外面不能用引号。
                        ③日期类型的最小值:1700-01-01T00:00:00Z GMT
                            日期类型的最大值:4000-12-31T00:00:00Z GMT

                        例子:SELECT ID FROM ACCOUNT WHERE CREATEDDATE > 1999-01-01T23:01:01Z

                (10) ORDER BY:

                        ①NULLS FIRST 或 NULLS LAST:查询结果中null值排在最前面还是最后面。默认是最前面。

                        ②注意点:

                             · ORDER BY的内容不区分大小写。
                             · ORDER BY支持多列排序。
                             · ORDER BY排序的方法是根据语言环境决定的。英语环境的时候,按照UTF-8来排序。亚洲语言时,用ISO 14651和Unicode 3.2来排序。
                            · ORDER BY不支持下列类型的排序:
                                     复数选择list
                                      Rich Text Area
                                      Long Text Area
                                      暗号化 (有効な場合)
                                      データカテゴリグループの参照 (Salesforce ナレッジが有効な場合)  

                  (11)LIMIT:

                        如果SELECT中有函数,那么就不能使用LIMIT。

                (12)使用UPDATE TRACKING可以更新项目追迹。如:

                                SELECT Title FROM FAQ__kav
                                WHERE Keyword='Apex' and
                                Language = 'en_US' and
                                KnowledgeArticleVersion = 'ka230000000PCiy'
                                UPDATE TRACKING

                (13)使用UPDATE VIEWSTAT可以更新参照統計。如:

                                SELECT Title FROM FAQ__kav
                                    WHERE PublishStatus='online' and
                                    Language = 'en_US' and
                                    KnowledgeArticleVersion = 'ka230000000PCiy'
                                    UPDATE VIEWSTAT

                (14)FORMAT()函数可以根据用户的本地设定来格式化查询数据。如:

                                SELECT FORMAT(amount) Amt, format(lastModifiedDate) editDate

                                        FROM Opportunity
                                                editDate = "7/2/2015 3:11 AM"
                                                Amt = "AED 1,500.000000 (USD 1,000.00)"

                (15)FOR UPDATE : 用于锁定(lock)查询结果。如下:

                                Account [] accts = [SELECT Id FROM Account LIMIT 2 FOR UPDATE];

                                使用这个语句时,不仅当前数据被锁定,相关联的数据也会被锁定。

                (16)计算函数:可以用于SELECT中的函数。

                                ①AVG():计算平均值,如:    
                                    SELECT AVG(Amount)
                                    FROM Opportunity
                                ②COUNT():计算查询结果返回的行数。(括号中可以添加字段名)
                                ③COUNT_DISTINCT():返回结果去重、去NULL。
                                ④MIN():最小值
                                ⑤MAX():最大值
                                ⑥SUM():合计值
                (17)日期函数:

                                CALENDAR_MONTH():返回date类型的月份。
                                CALENDAR_QUARTER():返回date类型的季度。
                                CALENDAR_YEAR():返回date类型的年份。
                                DAY_IN_MONTH():返回date类型是当月的第几天。
                                DAY_IN_WEEK():返回date类型是星期几。(星期日是1)
                                DAY_ONLY():只显示date类型的日期部分。
                                HOUR_IN_DAY():返回dateTime类型的时间部分。
                                WEEK_IN_MONTH():返回date类型是该月的第几周。
                                WEEK_IN_YEAR():返回date类型是该年的第几周。

                (18)OFFSET(偏移):

                                ①作用:可以将SOQL的查询结果分页

                                ②示例:

                                   SELECT Name FROM Account LIMIT 100

                                   OFFSET 10

                                (这个语句的意思是跳过查询结果的前10条数据,从第11条数据开始显示)

二、SOSL(Salesforce Object Search Language):

                (1)默认情况下,SOSL会扫描所有的实体。会返回最多2000件符合的记录。

                (2)SOSL语法格式:FIND {SearchQuery},当SearchQuery超过10000文字的场合,无法返回结果;当SearchQuery超过4000文字的场合,会删除SearchQuery中的所有逻辑运算符。

                (3)FIND通配符:

                        ①*:代表0个及以上的文字

                        ②?:代表1个文字

                (4)例子(注:FIND后面的SearchQuery一般不需要加引号,但是如果有and或or的情况,则需要用引号):

                        ①FIND {Joe Smith}          //在系统中查询Joe Smith文字(不分大小写),结果返回记录的ID。

                        ②FIND {Joe Smith} 
                            IN Name Fields 
                            RETURNING lead                //在lead表中的Name字段查找Joe Smith文字,结果返回记录的ID。       

                        ③FIND {Joe Smith}
                            IN Name Fields
                            RETURNING lead(name, phone)    //在lead表中的Name字段查找Joe Smith文字,结果返回记录的name和phone。    

                        ④FIND {Joe Smith}
                            IN Name Fields
                            RETURNING lead (name, phone Where createddate = THIS_FISCAL_QUARTER)      //在lead表中的Name字段查找Joe Smith文字,结果返回记录的name和本季度作成的电话号码。   

                        ⑤FIND {"Joe Smith" OR "Joe Smythe"}
                            IN Name Fields
                            RETURNING lead(name, phone), contact(name, phone)              //在lead表和contact中的Name字段查找Joe Smith或Joe Smythe,结果返回记录的name和phone。

                        ⑥FIND {Joe Sm*}                //在系统中查找以Joe Sm开头的文字,结果返回记录的ID。
                       ⑦FIND {Joe Sm*} LIMIT 10       //在系统中查找以Joe Sm开头的文字,结果返回记录的ID。(只返回10条数据) 

                        ⑧FIND {MyProspect} IN ALL FIELDS    //在所有字段中检索MyProspect文字

                        ⑨注意:在查找 & | ! ( ) { } [ ] ^ " ~ * ? : \ ' + - 等特殊字符时,需要在前面加上转义符/。

                      

        

                        

智能网联汽车的安全员高级考试涉及多个方面的专业知识,包括但不限于自动驾驶技术原理、车辆传感器融合、网络安全防护以及法律法规等内容。以下是针对该主题的一些核心知识解析: ### 关于智能网联车安全员高级考试的核心内容 #### 1. 自动驾驶分级标准 国际自动机工程师学会(SAE International)定义了六个级别的自动驾驶等级,从L0到L5[^1]。其中,L3及以上级别需要安全员具备更高的应急处理能力。 #### 2. 车辆感知系统的组成与功能 智能网联车通常配备多种传感器,如激光雷达、毫米波雷达、摄像头和超声波传感器等。这些设备协同工作以实现环境感知、障碍物检测等功能[^2]。 #### 3. 数据通信与网络安全 智能网联车依赖V2X(Vehicle-to-Everything)技术进行数据交换,在此过程中需防范潜在的网络攻击风险,例如中间人攻击或恶意软件入侵[^3]。 #### 4. 法律法规要求 不同国家和地区对于无人驾驶测试及运营有着严格的规定,考生应熟悉当地交通法典中有关自动化驾驶部分的具体条款[^4]。 ```python # 示例代码:模拟简单决策逻辑 def decide_action(sensor_data): if sensor_data['obstacle'] and not sensor_data['emergency']: return 'slow_down' elif sensor_data['pedestrian_crossing']: return 'stop_and_yield' else: return 'continue_driving' example_input = {'obstacle': True, 'emergency': False, 'pedestrian_crossing': False} action = decide_action(example_input) print(f"Action to take: {action}") ``` 需要注意的是,“同学”作为特定平台上的学习资源名称,并不提供官方认证的标准答案集;建议通过正规渠道获取教材并参加培训课程来准备此类资格认证考试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值