标签: sql-standard

获取 SQL 规范的免费副本?

曾经有一个指向 9075:2003 的 JTC 1/SC 32 工作草案的公共链接,但自从他们在 2003 年之后的修订版中开始使用以来,我一直没有使用该链接。鉴于有许多其他规范的公开副本(例如 11179-1:2004),我想知道是否有人知道合法访问 ISO/IEC 9075 规范的任何方法。也许有一个指向工作草案的链接,或者一个基金会以不到大约 3000 美元的价格提供对它的访问,我从标准机构学习 SQL 而不是依赖于特定于实现的书籍和文档需要花费我。

sql-standard

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

根据 SQL92 规范,我可以将值 1 存储在精度 = 比例的字段中吗?

将数字 1 存储在定义为的字段中是否符合 SQL92 NUMERIC 3,3

关于什么 DECIMAL 3,3

这是否意味着精度是浮动小数位或静态的,即使它们都为零也必须有 3 个小数位?

datatypes sql-standard decimal

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

我如何破解这个非 ansi 代码 blob

大约一个月前,我刚刚开始了一份新工作,为一家人手不足的软件公司工作。我的任务是对一些旧的非 ansi SQL 代码进行现代化改造,我在尝试破解这个问题时遇到了特别困难的时间。我最近刚毕业,所以我对现代 SQL 标准有点熟悉,并且根据我所做的研究,不推荐使用的部分与非 ansi 连接 *= 相关。我已经尝试了几乎所有我能想到的改变这个烂摊子的方法,但我不知所措。谢谢你的协助。

Select @SQLCmd = 
'SELECT ''' + @InvType + ''' AS Inv_Type, ' + @TableName + '_Number AS     Item_Number, Alternate_ID, Description1, ' +
    'Company_ID, Department_ID, Group_Id, Section_Id, Media_Code, ' +
    'Location_Current, Location_Home, Hold_Status, Record_Type,   Disposition_Status, ' + @TableName + '.Retention_Code, ' +
    'Retn_Disposal_Method, Retn_Authorize_Code, Reservation_Status ' +
'FROM ' + @TableName + ', RETENTION, (SELECT Item_Type, Item_Number, MAX(Reservation_Process_Status) AS ' +
'Reservation_Status FROM RESERVATION GROUP BY Item_Type, Item_Number) AS RESV ' …
Run Code Online (Sandbox Code Playgroud)

sql-server sql-standard

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

更新查询 (Postgres) 中 Set 子句的执行顺序

我最近在 Postgres 中遇到了这种奇怪的行为。我有一张像下面这样的表:

sasdb=# \d emp_manager_rel 
           表“db3004db.emp_manager_rel”
   专栏 | 类型 | 整理 | 可空 | 默认
------------+--------+-----------+------------+----- ----
 emp_id | bigint | | |
 manager_id | bigint | | |

select * from emp_manager_rel ;
 emp_id | manager_id
--------+------------
      1 | 123

我执行了以下更新语句:

更新1:

更新 emp_manager_rel 设置 manager_id = manager_id+emp_id , emp_id=emp_id*4;

更新表格如下:

emp_id | manager_id
--------+------------
      4 | 124

更新 2:我执行了以下查询(在原始表上,而不是在更新表上)

更新 emp_manager_rel 设置 emp_id=emp_id*4 , manager_id = manager_id+emp_id ;

它更新表格如下:

emp_id | manager_id
--------+------------
      4 | 124

我期望 …

postgresql update sql-standard

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

如何在 ANSI SQL 89 语法中执行 JOIN?

在 Oracle 中,我使用

SELECT * FROM table1...JOIN...
Run Code Online (Sandbox Code Playgroud)

其中点表示连接类型或连接条件。

这是 ANSI 89 语法吗?如果没有,那么如果我使用 ANSI 89,我将如何执行连接?

join sql-standard

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

当 varchar 效率更高时,为什么数据库具有 char 数据类型?

据我所知的基本区别CHARVARCHAR数据类型,它CHAR占用的固定长度,而VARCHAR占用空间基于正被存储的内容。

但是如果VARCHAR根据存储的内容动态处理空间管理如此有效,为什么数据库支持CHAR数据类型,所有CHAR(n)字段都可以是VARCHAR(n)字段,对吧?

datatypes storage sql-standard

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

哪些计算不能在标准 SQL 中执行?

我知道循环不能用标准 SQL 表示。它不能执行哪些其他形式的处理?

sql-standard

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

MySQL 表名区分大小写

为什么不同的平台(linux vs windows)不支持相同的命名约定?我对文档使用文件名作为借口这一事实感到震惊。

是的,windows 对文件名不区分大小写,但人们会认为开发人员会适应这一点。我(个人喜好)鄙视 under_score_convention 而更喜欢 camelCaseConvention。

有没有办法在连接到数据库时启用驼峰区分大小写,或者这是否必须在默认配置中完成?

在所有平台上是否有默认支持驼峰命名约定的 MySQL 替代方案?

编辑

好吧,我现在觉得有点傻,我更新到 mysql 5.5 并且现在通过降低整个名称来支持骆驼大小写约定。然而,它并没有保留骆驼案例,这是我正在寻找的一部分。

mysql naming-convention sql-standard

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

“等效 ISO 标准”实际上是什么意思?

我正在阅读有关比较运算符的信息。在文档中,比较运算符被 ANY、SOME 或 ALL 修改(强调添加):

引入子查询的比较运算符可以通过关键字 ALL 或 ANY 进行修改。SOME 是 ANY 的等效 ISO 标准。

这是什么意思?

sql-server terminology sql-standard sql-server-2014

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

从有序 SELECT 中选择无序集时的顺序是什么?

SQL 标准及其主流数据库实现(SQL Server、Oracle、DB2、PostgreSQL、Firebird、MySQL 等)对以下一般情况下的最终顺序有何看法:

SELECT * FROM (SELECT * FROM Table t ORDER BY t.Field)
Run Code Online (Sandbox Code Playgroud)

我可以相信内部顺序也受到外部投影的尊重,还是我需要ORDER BY在外部声明中明确说明?

我理解“明确列出”的建议。但是,在某些情况下,明确列出可能会导致问题。一方面,PostgreSQL 要求 中列出的所有字段也都列在ORDER BYSELECT DISTINCT。在某些情况下这不好,因为它改变了预期的结果集,根据我感兴趣的单列,它不再是不同的。

order-by sql-standard

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