Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Oracle To_Char函数如何处理它';这已经是一个字符串了_Sql_Oracle_Formatting_To Char - Fatal编程技术网

Sql Oracle To_Char函数如何处理它';这已经是一个字符串了

Sql Oracle To_Char函数如何处理它';这已经是一个字符串了,sql,oracle,formatting,to-char,Sql,Oracle,Formatting,To Char,场景:我正在调用一个函数,该函数返回用户输入的字段。该字段通常返回一个类似于“120000”的数字,然后我使用它将字符转换为“120000” 问题:一些用户输入诸如“120000”之类的值,这在尝试使用to_char时给了我一个错误。此外,如果找不到值,该函数将返回一个空格“”。我之前试过使用to_号码,但它的“”有问题,我相信 问题:处理这个问题的最佳方法是什么?正在检查“,”的案例语句?使用to_number然后使用to_char 注意:我可以一起破解一个解决方案,我只是想知道处理这个问题的

场景:我正在调用一个函数,该函数返回用户输入的字段。该字段通常返回一个类似于“120000”的数字,然后我使用它将字符转换为“120000”

问题:一些用户输入诸如“120000”之类的值,这在尝试使用to_char时给了我一个错误。此外,如果找不到值,该函数将返回一个空格“”。我之前试过使用to_号码,但它的“”有问题,我相信

问题:处理这个问题的最佳方法是什么?正在检查“,”的案例语句?使用to_number然后使用to_char


注意:我可以一起破解一个解决方案,我只是想知道处理这个问题的最佳方法是什么。

与其使用REPLACE,不如使用功能更强大的
REGEXP\u REPLACE
函数。

然后,您可以从字符串中删除任何非数字字符,然后再根据需要对其进行格式化

在您的情况下,它将类似于:

REGEXP_REPLACE(<your field>, '[^0-9]+', '');
REGEXP\u REPLACE(,“[^0-9]+”,”);
这将使用null替换所有非数字字符,从而有效地将其从字符串中删除

你也可以看到这个答案:

去掉逗号,然后如上所述使用
添加字符。或者告诉用户只输入数字。最好的方法是首先防止用户输入带有逗号的数字。如果你无法控制,那么杰克就有钱了-只要用
REPLACE(field,,,,,'')去掉逗号即可
我会强制用户输入一个数字,而不是一个格式化的数字(120000)。此外,有些地方使用。相反,所以去掉逗号并不总是有效。不幸的是,我们没有这种控制。这是来自一个名为Amanda(CSDC)的程序。这是一个任何东西都可以输入的信息代码。我将使用替换谢谢。如果答案中的“链接”将来断开,会发生什么情况?:)我引用@Annjawn的话,因为你似乎在搜寻我以前的答案,寻找那些包含链接的答案,我只能假设你从你链接的答案中获取了我的评论,而这不是有意的。这不是故意冒犯你的。FWIW,我相信这个答案成立,即使链接曾经中断,因为它既包含信息也包含链接。你不同意吗?我同意。但这种联系可能会中断。任何时候,没有任何理由。但这并不意味着我们会停止使用它们。因此我主张链接和信息。它给出了一个更加持久和有用的答案。正如你所看到的,我很乐意使用链接,希望其他人也这样做,但请记住,他们可以而且确实会随着时间的推移而中断。