求ORACLE大神指导~主要是不懂TO_CHAR(number,'Not Available')是啥意思?把数字变成啥啊?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求ORACLE大神指导~主要是不懂TO_CHAR(number,'Not Available')是啥意思?把数字变成啥啊?相关的知识,希望对你有一定的参考价值。

Using the CUSTOMERS table, you need to generate a report that shows an increase
in the credit limit by 15% for all customers. Customers whose credit limit has not
been entered should have the message "Not Available" displayed.
Which SQL statement would produce the required result?
A. SELECT NVL(cust_credit_limit, 'Not Available')*.15 "NEW CREDIT"
FROM customers;
B. SELECT NVL(cust_credit_limit*.15,'Not Available') "NEW CREDIT" FROM
customers;
C. SELECT TO_CHAR(NVL(cust_credit_limit*.15,'Not Available')) "NEW
CREDIT" FROM customers;
D. SELECT NVL(TO_CHAR(cust_credit_limit*.15),'Not Available') "NEW
CREDIT" FROM customers;
Answer: D

你搞错了吧
不是TO_CHAR(number,'Not Available')
而是 NVL(TO_CHAR(cust_credit_limit*.15),'Not Available')之类的吧。
就是判断,相当于IF ..ELSE
TO_CHAR(cust_credit_limit*.15)=NULL 就取'Not Available'这个值,否则cust_credit_limit*.15这个值追问

那我想请问下 正确选项是哪个?

追答

哦。应该是D

追问

啊啊啊~还是不懂啊~能否详细解释下啊?

追答

A,
B,
C ,
不管cust_credit_limit是否有值,NVL都不成立,因为NVL中的值不同类型不能转换
NVL(NUMBER,NUMBER)
我这样理解的。如果是NUMBER*。15,如果是空,我想是不能转换成VARCHAR2的

参考技术A D
oracelTO_CHAR第二个参数,不能用Not Available。

stm32编程问题,状态机,求大神指导,初学者,主要是switch语句后面的变量取值不明白

状态机的程序中,如果用到switch语句,那后面的变量没有赋初值,我们应该转向哪一个case语句啊,程序见下方,由于程序太长,我就把大概意思写上了。。。。。
typedef enum

KeyScanState_0 = 0x00,
KeyScanState_1 = 0x01,
KeyScanState_2 = 0x02,
KeyScanState_Typedef;
int main(void)

vu16 KeyPortStatus = 0;
/* 定义按键扫描状态枚举变量 */
KeyScanState_Typedef KeyScanState;

while(1)

/* 查询20ms到? */
if(SysTick_GetFlagStatus(SysTick_FLAG_COUNT) == SET)

/* 读取IO电平 */
KeyPortStatus = GPIO_ReadInputData(KEYPORT) & 0x000f;
/* 进入状态机流程 */
switch(KeyScanState) ·········就是这里不明白啊啊啊 啊 啊

case KeyScanState_0:
case KeyScanState_1:
case KeyScanState_2:

你要知道哪个数据先要知道:KeyPortStatus = GPIO_ReadInputData(KEYPORT) & 0x000f;这行

我不知道你的定义我就暂时以PB口为你读取KEY的口吧,看这状态肯定是上拉然后低4位是按键,所以将口除低4位外全部清零(&0x000f)就是保留低4位二进制就是1111。
然后switch(KeyScanState) 这其实就是将第4位判断哪个具体位为0,说明哪个按下。

然后在把2进制的值用10进制表示当然你这个是已经被重新定义过的了:
KeyScanState_0,1,2.。。。这些,所以你要先看看他是定义的几才行。没有按键为0时应该是0x0f。。以此类推
参考技术A 你说的地方就是读到按键后进行按键操作啊.

if(SysTick_GetFlagStatus(SysTick_FLAG_COUNT) == SET)看是不是到了20MS.这个是去抖动的.

KeyPortStatus = GPIO_ReadInputData(KEYPORT) & 0x000f;这个是从GPIO里读按键值的,估计是看是否有按键按下吧.或者是读ADC值转换成健值.KEYPORT未见定义,不知道你的代码能否编译过.
switch(KeyScanState) 这里进行按键选择啊.在这之前应该会有KeyScanState的符值.你的代码一段一段的,要么是不全,要么是错的.

逻辑非常简单.刚学C两个月就能看懂.不打击你.追问

大哥,要是有KeyScanState的符值,你认为我还会出来问吗,我不告诉你这是大致程序了吗,全打下来写不下来,你看清了再来打击我吧

参考技术B 完整的流程:

http://www.amobbs.com/thread-5544745-1-1.html里面是你程序的出处!
int main(void)

1.初始化各个模块
while(1)

2.扫描按键;
3.给扫描到的按键赋值(包括长按键、短按键、KEY0、KEY1等)即状态;
4.根据不同的键值进行不同的业务(switch case);




很完美的状态机,我也是初学,特来膜拜的。本回答被提问者采纳

以上是关于求ORACLE大神指导~主要是不懂TO_CHAR(number,'Not Available')是啥意思?把数字变成啥啊?的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 12c怎么创建表啊,今天刚装的,啥都不懂,求各位大神指教!!1

求大神指导VB.net 线程 ThreadState 的使用方法 怎么获取线程状态,是不是被挂起堵塞停止等等

用poi多次调用write()方法报java.io.IOException: Stream closed。求大神指导。

C# sftp 上传文件 出现Permission denied异常。求大神指导

求大神指导,linux系统中软件安装包里install为啥弹不出安装界面?

PHP如何实现指纹验证,求大神指导