维基百科说:
"在实践中,很少使用明确的右外连接,因为它们总是可以用左外连接替换,并且不提供额外的功能."
任何人都可以提供他们更喜欢使用正确表示法的情况,为什么?我想不出使用它的理由.对我来说,它永远不会让事情更清楚.
编辑:我是甲骨文老将制作新年决议,以便从(+)语法中脱离自己.我想做得对
我有两张工作簿.我想根据工作表2第二列中的值格式化工作表1第一列中的单元格背景颜色.
例如,如果sheet2,第6行,第2列的值为4,那么我希望第1页,第4行,第1列的背景颜色为绿色.如果第2页第2列中没有任何值引用第1页中的细分行,我想将其设置为无颜色.没有禁止在第2页的第2列中多次出现相同的值.如果您可以告诉我如果图2中指向表1中的行的最后一个值被删除,您可以告诉我如何取消设置颜色,这是值得称赞的.
我确信对于Excel向导来说这可能是微不足道的,但我很少有机会使用excel,当然没有时间成为它的黑带.任何人都可以提供建议,指示或快速公式来做到这一点?如果要实现一些复杂的VB代码,那就不值得了.
谢谢!
我有一个Excel文件(其中包含从Oracle 10G数据库导入的数据)其中一个字段是日期归档,其值为28-JAN-11 03.25.11.000000000 PM(日期字段是数据库中的Oracle时间戳(6))
当我尝试将该Excel文件导入另一个Oracle 10 G数据库(用于另一个数据库/应用程序)时,我收到错误,因为Oracle 10G无法识别数据字段 - >正在由ORACLE SQL Developer完成导入(表(字段)有TIMESTAMP(6)作为数据类型)
我该如何导入该字段?暂时我将TIMESTAMP设置为VARCHAR2并且它正在工作,但是我无法在C#CODE中将它再次转换为Date字段(它表示不是有效的日期类型).
Tony Andrews在另一个问题中给出了一个例子:
IF p_c_courtesies_cd
|| p_c_language_cd
|| v_c_name
|| v_c_firstname
|| v_c_function
|| p_c_phone
|| p_c_mobile p_c_fax
|| v_c_email is not null
THEN
-- Do something
END IF;
Run Code Online (Sandbox Code Playgroud)
作为Oracle COALESCE函数的一个聪明(如果不是有点模糊)的替代品.果然,它有效,如果任何参数不为null,则IF测试为真.我的问题:Oracle的上述串联操作SQL-92的实现是否符合要求?涉及NULL的表达式不应该计算为NULL吗?如果您不这么认为,为什么表达式1 + NULL计算为NULL?
我可以从DOS命令窗口通过sqlcmd连接到我的SQL Server数据库,但不能从Cygwin窗口连接到我的SQL Server数据库.来自DOS:
F:\Cygnus>sqlcmd -Q "select 'a test'" -S .\SQLEXPRESS
Run Code Online (Sandbox Code Playgroud)
一个测试
(1行受影响)
F:\Cygnus>
Run Code Online (Sandbox Code Playgroud)
================================================== ==
来自Cygwin:
$ sqlcmd -Q "select 'a test'" -S .\SQLEXPRESS
Run Code Online (Sandbox Code Playgroud)
HResult 0x35,Level 16,State 1
命名管道提供程序:无法打开与SQL Server的连接[53].Sqlcmd:错误:Microsoft SQL Native Client:建立与服务器的连接时发生错误.连接到SQL Server 2005时,此错误可能是由于在默认设置下SQL Server不允许远程连接这一事实.Sqlcmd:错误:Microsoft SQL Native Client:登录超时已过期.
你好.考虑以下:
SQL> DECLARE
2 b1 BOOLEAN;
3 b2 BOOLEAN;
4 FUNCTION checkit RETURN BOOLEAN IS
5 BEGIN
6 dbms_output.put_line('inside checkit');
7 RETURN TRUE;
8 END checkit;
9
10 PROCEDURE outp(n VARCHAR2, p BOOLEAN) IS
11 BEGIN
12 IF p THEN
13 dbms_output.put_line(n||' is true');
14 ELSE
15 dbms_output.put_line(n||' is false');
16 END IF;
17 END;
18 BEGIN
19 b1 := TRUE OR checkit;
20 outp('b1',b1);
21 b2 := checkit OR TRUE;
22 outp('b2',b2);
23 END;
24 /
b1 is true …
Run Code Online (Sandbox Code Playgroud) 我有一个函数返回一个SYS_REFCURSOR,它有一行但多列.我想要做的是能够使用SYS_REFCURSOR中返回的列值来生成具有嵌套子查询的SQL查询.其他想法,如类型等将不胜感激.下面的代码是我即时编写的,并没有经过语法验证.
--Oracle function
CREATE DummyFunction(dummyValue AS NUMBER) RETURN SYS_REFCURSOR
IS
RETURN_DATA SYS_REFCURSOR;
BEGIN
OPEN RETURN_DATA
SELECT
TO_CHAR(dummyValue) || 'A' AS ColumnA
,TO_CHAR(dummyValue) || 'B' AS ColumnB
FROM
DUAL;
RETURN RETURN_DATA;
END;
--sample query with sub-queries; does not work
SELECT
SELECT ColumnA FROM DummyFunction(1) FROM DUAL AS ColumnA
,SELECT ColumnB FROM DummyFunction(1) FROM DUAL AS ColumnB
FROM
DUAL;
Run Code Online (Sandbox Code Playgroud) 我一直在努力翻新一个非常古老的基于Java Servlet的webapp.webapp允许用户上传图像.webapp存储对数据库中图像的路径引用,但将图像上载到它们所在的服务器上的目录.
webapp的数据库已升级到Oracle 11g,我被告知可以处理二进制信息.
所以,我的问题是,哪个更聪明?
继续将图像作为文件存储在服务器上或将图像填充到Oracle 11g数据库中?
非常感谢提前
史蒂夫
当我在where语句中有一个"&D"时,我有一个Oracle查询正在爆炸
select <field> from <table> where field = 'ABC&D';
Run Code Online (Sandbox Code Playgroud)
弹出Oracle Variable窗口,询问以下值:D.
有任何想法吗?
我需要在报告工具中为提示编写一个sql.我得到一个由' - '分隔的变量中的多个值的列表,这些值的数量可以变化.(例如,"abc-def"eg2."abc-def-xyz").
现在我需要在这个表单的oracle中编写sql(逻辑上)
select something
from somewhere
where someColumn in 'abc' -- use substr to extract abc
or someColumn in 'def' -- use substr to extract def
or ...till we don't find '-'.
Run Code Online (Sandbox Code Playgroud)
我不能使用plsql进行查询.我可能不知道在plsql中使用我选择的变量,或者报告工具可能不支持.
提前致谢.
当我尝试执行涉及 Oracle 链接服务器的查询时,我遇到了这个问题。找到下面的查询,
SELECT DISTINCT Convert(nvarchar(100),A.ZIP_CD)
,Convert(nvarchar(100),A.CITY)
,Convert(nvarchar(100),A.ST_CD)
,Convert(nvarchar(100),E.PCT)
,Convert(nvarchar(100),B.DEFAULT_DEL_CHG)
,Convert(nvarchar(100),E.DEL_TAX)
FROM [LIVE]..[CUSTOM].MASTER_ZIP A,
[LIVE]..[MISC].ZONE B,
[LIVE]..[MISC].ZIP2ZONE C,
[LIVE]..[MISC].ZIP2TAX D,
[LIVE]..[SALES].TAT E
WHERE A.ZIP_CD = C.ZIP_CD
AND ISNULL(B.DEFAULT_DEL_CHG,0) <> 0
AND A.USPS_PRIM = 'P'
AND C.ZONE_CD = B.ZONE_CD
AND A.ZIP_CD = D.ZIP_CD
--AND decode(D.TAX_CD,'999','99',d.tax_cd) = E.TAT_CD
AND (Case When D.TAX_CD = '999' Then '99' Else D.TAX_CD End) = E.TAT_CD
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误,
无法从链接服务器“LIVE”的 OLE DB 提供程序“OraOLEDB.Oracle”获取行数据。
我在一个论坛上发现,由于 Oracle 在 sql server 中转换数字时出现问题,请尝试转换为 nvarchar,但我仍然遇到相同的错误。
关于如何解决这个问题有什么想法吗?谢谢。