第九十四章 SQL函数 %MINUS
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第九十四章 SQL函数 %MINUS相关的知识,希望对你有一定的参考价值。
参考技术A 将数字转换为规范整理格式,然后反转符号的整理函数。%MINUS 将数字或数字字符串转换为规范形式,反转符号,然后以数字排序规则返回这些表达式值。
%MINUS 和 %PLUS 在功能上是相同的,只是 %MINUS 反转了符号。它为解析为正数的任何数字添加减号前缀,并从解析为负数的任何数字中删除减号。零从不签名。
一个数字可以包含前导零和尾随零、多个前导加号和减号、一个小数点指示符 ( . ) 和 E 指数指示符。在规范形式中,执行所有算术运算,扩展指数,将符号解析为单个前导减号或无符号,并去除前导零和尾随零。
可以使用或不使用封闭字符串分隔符来指定数字文字。如果字符串包含非数字字符, %MINUS 会在第一个非数字字符处截断数字,并以规范形式返回数字部分。非数字字符串(任何以非数字字符开头的字符串)返回为 0 。 %MINUS 也将 NULL 作为 0 返回。
%MINUS 是一个 SQL 扩展,用于 SQL 查找查询。
可以使用 %SYSTEM.Util 类的 Collation() 方法在 ObjectScript 中执行相同的排序规则转换:
将 %MINUS 与 %MVR 排序规则进行比较,后者根据字符串中的数字子字符串对字符串进行排序。
以下示例使用 %MINUS 以家庭街道号的数字降序返回记录:
请注意,上面的示例按数字顺序对街道地址的整数部分进行排序。将此与以下 ORDER BY DESC 示例进行比较,该示例按整理顺序中的街道地址对记录进行排序:
Qt Gui 第十四章
一、QThread
当要运行多线程,则需要继承该类,并重写对应的run()函数;当启动线程执行run函数的时候,则需要调用start函数;等待run函数执行完毕则是wait函数;
当在run函数中,用一个变量来标记是否一直循环执行的时候;最好该标记使用volatile 该关键字,例如:volatile bool stopped;
该关键字可以使得stopped变量当数据改变的时候不会放进缓存里面,而是直接写入更改该变量;从而不会产生一些不可遇见的错误。
二、互斥锁
当要对某变量进行读取或者写入,处于线程安全的考虑时候可以使用互斥锁: QMutex;例如:
{ mutex.lock(); stopped = false; mutex.unlock(); }
这样有一个缺点是,当对stopped进行操作的时候发生了异常;则mutex一直处于锁定的状态;
{ QMutexLocker locker(&mutex); stopped = false; }
则不论stopped是否发生异常,mutex都不会出现死锁的现象。
三、信号锁和读写锁
const int DataSize = 100000; const int BufferSize = 4096; char buffer[BufferSize]; QSemaphore freeSpace(BufferSize); QSemaphore usedSpace(0); Productor: for (int i = 0; i < DataSize; ++i) { freeSpace.acquire(); buffer[i % BufferSize] = "ACGT"[uint(std::rand()) % 4]; usedSpace.release(); } Consumer: for (int i = 0; i < DataSize; ++i) { usedSpace.acquire(); std::cerr << buffer[i % BufferSize]; freeSpace.release(); }
如上
freeSpace先初始化有BufferSize个信号量
Productor要写入数据的时候,先acquire一个信号量,即freeSpace减掉一个信号量。当写完之后;给usedSpace增加一个信号量:usedSpace.release();
Consumer则相反;
读写锁:即一个数据可以有多个线程同时读,但是只能有一个线程写;
QReadWriteLock lock; { QReadLocker locker(&lock); 可以有多个线程同时进这里,执行读操作; } { QWriteLocker wlocker(&locker); 执行写操作 只能有一个线程执行该操作;执行该操作的时候,不能执行读操作; }
三、QWaitCondition
!-- p,>!-- p,>!-- p,>!-- p,>!--EndFragment-->!--StartFragment-->!-- p,>
以上是关于第九十四章 SQL函数 %MINUS的主要内容,如果未能解决你的问题,请参考以下文章