SQL 通配与转义

今天项目碰到一个问题,关于sql模糊查询的通配和转义,在网上查一些资料,整理一下

 

  1. 通配符 说明


  _    与任意单字符匹配 


  %    与包含一个或多个字符的字符串匹配


   [ ]  与特定范围(例如,[a-f])或特定集(例如,[abcdef])中的任意单字符匹配。 


  [^]  与特定范围(例如,[^a-f])或特定集(例如,[^abcdef])之外的任意单字符匹配。

 

  例子:

 

  • WHERE FirstName LIKE '_im' 可以找到所有三个字母的、以 im 结尾的名字(例如,Jim、Tim)。  


  • WHERE LastName LIKE '%stein' 可以找到姓以 stein 结尾的所有员工。  


  • WHERE LastName LIKE '%stein%' 可以找到姓中任意位置包括 stein 的所有员工。 


   • WHERE FirstName LIKE '[JT]im' 可以找到三个字母的、以 im 结尾并以 J 或 T 开始的名字(即仅有Jim 和Tim) 


  • WHERE LastName LIKE 'm[^c]%' 可以找到以 m 开始的、后面的(第二个)字母不为 c 的所有姓。

 

 

     2.   ESCAPE   'escape_character'  

 

   
      允许在字符串中搜索通配符而不是将其作为通配符使用。escape_character   是放在通配符前表示此特殊用途的字 

 

符。   
     

SELECT *

   FROM finances

   WHERE description LIKE 'g!_' ESCAPE '!' GO  

      
 

意思就是:    

       

      比如,我们要搜索一个字符串 "g_"  ,如果直接  like "g_",那么   "_"的作用就是通配符,而不是字符,结果,我们

 

会查到比如  "ga","gb","gc",而不是我们需要的   "g_".    

       

       用  LIKE   'g!_'   ESCAPE   '!'     '!'表示特殊用法标志,注意!可以被任意字符替代,只是不能是系统中允许出现的 

 

字符,否则又要转义了……  

 

 

     3.   replace 该派上用场了

 

 

    其实看着 ESCAPE  用法感觉还是很不爽,至少对我现在的需求如此。为什么不能直接转移  _  %  等字符么,非要 

 

ESCAPE  一下 _   %  的前一个字符!因为我根本不知道用户输入的查询条件中  _  %  前一个字符是什么,所以必须要  

 

replace 一下  T_T

 

SELECT t.*, t.ROWID 
FROM table1 t 
WHERE t.col1 LIKE REPLACE(lower(#col1#), '%', '\%')) || '%' ESCAPE '\'; 

 

 

 

 

<think>我们正在讨论LTC3780的典型应用电路。根据引用[1],LTC3780是一款高效率稳压电源模块,能够在输入电压低于、高于或等于输出电压时保持输出电压稳定。例如,当设定输出12V时,输入电压在5~32V之间变化,输出都能稳定在12V。这种特性使其特别适用于太阳能充电等场景。 ### LTC3780典型应用电路 LTC3780的典型应用电路主要有以下几种: 1. **升压模式(Boost)**:当输入电压低于输出电压时,电路工作在升压模式。 2. **降压模式(Buck)**:当输入电压高于输出电压时,电路工作在降压模式。 3. **升降压模式(Buck-Boost)**:当输入电压可能高于或低于输出电压时,电路自动在升压和降压模式之间切换。 #### 核心电路结构 LTC3780的应用电路常包含以下关键部分: - **功率级**:由四个功率MOSFET(Q1, Q2, Q3, Q4)组成H桥结构,实现升降压功能。 - **电感(L)**:储能元件,常选用饱和电流大、直流电阻小的功率电感。 - **输入/输出电容**:用于滤波和储能,常选用低ESR的电解电容或陶瓷电容。 - **反馈网络**:过电阻分压将输出电压反馈到FB引脚,调节输出电压。 #### 典型应用电路示例 下图是一个简化的LTC3780典型应用电路: ``` Vin │ ├─────┬─────┐ │ │ │ C1 Q1 Q2 │ │ │ │ ├─┐ ├─┐ │ │ │ │ │ │ │ └─┬─┘ │ │ │ L │ │ │ │ │ GND ├─┬─┘ │ │ │ │ Q3 Q4 │ │ │ ├─┘ ├───┬─── Vout │ │ │ GND C2 Rfb1 │ Rfb2 │ GND ``` (注:实际电路中包含驱动电路、保护电路等复杂细节) #### 关键设计参数 1. **输出电压设置**:过反馈电阻$R_{fb1}$和$R_{fb2}$设定,公式为: $$V_{out} = V_{fb} \times \left(1 + \frac{R_{fb1}}{R_{fb2}}\right)$$ 其中$V_{fb}$是FB引脚基准电压(常为0.8V)[^1]。 2. **电感选择**:电感值由最大输入/输出电流、开关频率决定,计算公式为: $$L = \frac{V_{in(min)} \times (V_{out} - V_{in(min)})}{f_{sw} \times \Delta I_L \times V_{out}}$$ (适用于升压模式,$\Delta I_L$为纹波电流) 3. **开关频率设置**:过RT引脚电阻设定,范围常为100kHz~400kHz。 ### 设计注意事项 - **MOSFET选择**:需选择低$R_{DS(on)}$的MOSFET以减少损耗。 - **布局要点**:功率回路面积要小,采用星形接地,避免开关噪声干扰。 - **保护功能**:LTC3780内置过压保护(OVP)、过流保护(OCP),可过外部元件调整阈值。 ### 典型应用场景 1. **太阳能充电控制器**:利用其宽输入范围和升降压特性[^1]。 2. **汽车电子**:适应汽车电池电压波动(如冷启动时电压骤降)。 3. **电池供电设备**:延长电池使用寿命。 如果需要完整的设计资料(包括原理图、PCB布局指南),建议访问ADI官网下载LTC3780数据手册和设计笔记[^1]。 </think>以下是LTC3780的典型应用电路详解,基于其作为高效四开关升降压控制器的特性: ### 一、典型应用电路拓扑 LTC3780的核心是**四开关Buck-Boost架构**,支持三种工作模式: 1. **升压模式(Vin < Vout)** - 当输入电压低于输出电压时(如5V输入→12V输出) - MOSFET Q1/Q4常,Q2/Q3交替开关 - 能量过电感L传递至输出端 2. **降压模式(Vin > Vout)** - 当输入电压高于输出电压时(如24V输入→12V输出) - Q2/Q3常,Q1/Q4工作在PWM状态 - 等效为Buck降压转换器 3. **升降压模式(Vin ≈ Vout)** - 输入/输出电压接近时(如12V输入→12V输出) - 所有MOSFET均工作在PWM状态 - 最小化开关损耗[^1] ### 二、典型电路关键元件设计 ```plaintext Vin ──┬───[Q1]───┬───[电感L]───┬─── Vout │ [Q2] [Q3] ├───[Q4]───┴───────┬──────┴─── [输入电容] [输出电容] │ │ GND─────────────────┘ ``` 1. **功率MOSFET选择** - 需选择低$R_{DS(on)}$的N沟道MOSFET(典型值<10mΩ) - 建议使用SO-8或PowerPAK封装器件 2. **电感设计** - 电感值计算: $$L = \frac{V_{in(min)} \times (V_{out} - V_{in(min)})}{f_{sw} \times \Delta I_L \times V_{out}}$$ - 饱和电流需>最大输出电流的1.3倍 - 推荐铁硅铝磁芯电感(如Würth 744363系列) 3. **反馈网络** - 输出电压设置公式: $$V_{out} = 0.8 \times \left(1 + \frac{R_1}{R_2}\right) \text{(单位:V)}$$ - $R_1$/$R_2$建议采用0.1%精度的薄膜电阻 ### 三、保护电路设计(必需配置) 1. **输入过压保护** - 过OVLO引脚设置阈值:$V_{ovlo} = 1.2 \times \left(1 + \frac{R_a}{R_b}\right)$ 2. **输出短路保护** - 在$I_{sense+}$/$I_{sense-}$引脚间加入10mΩ检流电阻 - 触发电流阈值:$I_{trip} = \frac{50mV}{R_{sense}}$ 3. **热管理** - 功率器件需共用散热铜箔(建议≥2oz敷铜)[^1] ### 四、太阳能充电应用电路 ```mermaid graph LR A[太阳能板] --> B(LTC3780升降压电路) B --> C[锂电池组] C --> D[负载] subgraph 控制电路 B --> E[MPPT算法] E -->|PWM信号| B end ``` 特点: - 支持5-32V宽输入范围(覆盖多云/晨昏工况) - 效率>95%(典型值) - 集成MPPT(最大功率点跟踪)控制环路[^1] > ✅ 设计提示:完整参考设计见ADI官网DC2531A-B演示板文档,包含原理图/PCB/物料清单[^1]。 ### 五、设计注意事项 1. **布局要点**: - 功率环路面积最小化(<1cm²) - SWA/SWB节点避免平行走线 - 芯片下方敷设GND铜箔散热 2. **稳定性补偿**: - ITH引脚需串联RC网络: $$C_{comp} = \frac{1}{2\pi \times f_c \times R_{comp}}$$ ($f_c$建议取开关频率$f_{sw}$的1/10) 3. **启动问题对策**: - 输入电容≥47μF(低ESR) - 软启动电容建议22nF(SS引脚)[^1] --- ### 相关问题 1. 如何优化LTC3780在轻载时的效率? 2. LTC3780的开关频率如何设置? 3. 升降压模式下电感电流纹波如何计算? 4. 如何设计LTC3780的均流电路实现功率扩展? 5. LTC3780与LTC3789在太阳能应用中如何选择?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值