小编Ser*_*nik的帖子

Excel CSV - 数字格式

我将报告生成为CSV文件.当我尝试在Excel中打开文件时,它会根据单元格的内容对数据类型进行假设,并相应地重新格式化.

例如,如果CSV文件包含

...,005,...
Run Code Online (Sandbox Code Playgroud)

然后Excel将其显示为5.有没有办法覆盖它并显示005?

我宁愿对文件本身做一些事情,这样用户只需双击CSV文件即可打开它.

我使用Excel 2003.

csv excel formatting number-formatting

84
推荐指数
3
解决办法
20万
查看次数

如何在Perl中打印由换行符分隔的列表元素?

在Perl中打印由换行符分隔的所有列表元素的最简单方法是什么?

perl

16
推荐指数
3
解决办法
2万
查看次数

Oracle执行计划中的Access和Filter谓词

Oracle执行计划中的Access和Filter谓词有什么区别?如果我理解正确,"访问"用于确定需要读取哪些数据块,并在读取块后应用"过滤器".因此,过滤是"邪恶的".

在下面的执行计划的谓词信息部分的示例中:

10 - access("DOMAIN_CODE"='BLCOLLSTS' AND "CURRENT_VERSION_IND"='Y')
     filter("CURRENT_VERSION_IND"='Y')
Run Code Online (Sandbox Code Playgroud)

为什么在"访问"和"过滤"部分中重复"CURRENT_VERSION_IND"?

相应的操作是索引上的INDEX RANGE扫描,它在字段(DOMAIN_CODE,CODE_VALUE,CURRENT_VERSION_IND,DECODE_DISPLAY)上定义.

我的猜测是因为CURRENT_VERSION_IND不是索引中的第二列,所以Oracle在Access阶段不能使用它.因此,它通过DOMAIN_CODE列访问索引,获取所有块,然后按CURRENT_VERSION_IND过滤它们.我对吗?

oracle optimization oracle-sqldeveloper

9
推荐指数
1
解决办法
2万
查看次数

在Oracle ANSI join中混合使用"USING"和"ON"

我写了一个像这样的Oracle SQL表达式:

SELECT
...
FROM mc_current_view a
JOIN account_master am USING (account_no)
JOIN account_master am_loan ON (am.account_no = am_loan.parent_account_no)
JOIN ml_client_account mca USING (account_no)
Run Code Online (Sandbox Code Playgroud)

当我尝试运行它时,Oracle在"ON"自连接行中抛出一个错误:"ORA-25154:USING子句的列部分不能有限定符".

如果我省略"am"限定符,它会说:"ORA-00918:列模糊定义".

解决这个问题的最佳方法是什么?

sql oracle ora-00918

8
推荐指数
2
解决办法
1万
查看次数

如何在Perl中构建与OS无关的文件路径,包括可选的Windows驱动器号?

我需要在Perl脚本中构造一个文件路径.我应该使用哪个路径分隔符来允许我的脚本在Windows和Unix上运行?

请记住,Windows需要驱动器号.

windows perl path

7
推荐指数
3
解决办法
9201
查看次数

Oracle并行查询 - 如何找出实际生成的进程数?

我在10G 3节点RAC上使用Oracle并行查询功能,其中每个节点都是16 CPU机器.问题是,如何查看在所有3个节点上执行查询的Oracle进程的实际数量?

oracle parallel-processing

6
推荐指数
1
解决办法
2万
查看次数

Oracle APEX:报告单元格上的工具提示

我有一个APEX表格形式,其中所有列都是标准报告列.是否可以在报告的特定单元格上显示鼠标悬停工具提示?

oracle-apex

6
推荐指数
1
解决办法
1万
查看次数

从Windows Scripting Host中删除Excel文件

是否有一种快速方法可以从Windows Scripting Host 操作现有 XLS文件的内容?

我们收到了客户提供的Excel模板.我们的任务是使用从Oracle数据库中获取的数据填充这些模板.

目前的方法是使用Windows Scripting Host和VBScript:

  1. 使用ADODB从Oracle获取数据:

    Set db = CreateObject("ADODB.Connection")
    SQL = "SELECT ..."
    Set rs=db.execute(SQL)
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用VBScript在Windows Scripting Host中创建Excel对象:

    Set objExcel = CreateObject("Excel.Application")  
    Set objWorkbook = objExcel.Workbooks.Open(xls_final)  
    Set objSheet = objWorkBook.Sheets(1)
    
    Run Code Online (Sandbox Code Playgroud)
  3. 然后像这样逐个单元填写模板:

    If rs.EOF = False Then
       rs.MoveFirst
       Do Until rs.EOF
          objSheet.Cells(RowNumber, 1).Value = rs("COLUMN1")
          objSheet.Cells(RowNumber, 2).Value = rs("COLUMN2")
          objSheet.Cells(RowNumber, 3).Value = rs("COLUMN3")
          rs.MoveNext
       Loop
    End If
    objWorkbook.Save 
    rs.Close
    
    Run Code Online (Sandbox Code Playgroud)

    问题是这些文件中的一些包含大量数据,并且需要花费数小时来填充它们.有更快的方法吗?

vbscript excel ado wsh

2
推荐指数
1
解决办法
6952
查看次数

使用单个SQL执行此操作

我有一个看起来像这样的表:

替代文字

行按CLNDR_DATE DESC排序.

我需要找到与突出显示的行对应的CLNDR_DATE,换句话说:
找到最顶层的行WHERE EFFECTIVE_DATE是非NULL,并返回该组的最后一行的CLNR_DATE.

通常我会打开一个光标并从上到下循环,直到我在EFFECTIVE_DATE中找到NULL.然后我会知道我要查找的日期是CLNDR_DATE,在上一步获得.

但是,我想知道使用单个SQL是否可以实现相同的目标?

sql oracle

1
推荐指数
1
解决办法
274
查看次数