AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-2626

Richard's questions

Martin Hope
Richard
Asked: 2014-11-11 06:27:24 +0800 CST

带 AM/PM 返回的日期时间

  • 0

我有一个在 Windows 2003 机器上运行的 SQL Server 数据库 (2008R2)。我正在使用另一个 Win2003 盒子连接到它。

当我从数据库中选择一个日期时间值时,我会以这种格式取回它:

2014 年 11 月 5 日下午 12:07:46

但是,当我使用不同的系统(Win2008 连接到 2008R2 数据库)时,我以更期望的格式取回它:

2014-11-02 10:53:00

在这两种情况下,我都通过 Microsoft OLE DB 驱动程序直接从数据库表中提取值。SELECT 语句不会以任何方式转换这些值。这是从一些 C++ 代码中提取并记录到文件中的。当我使用 SSMS 连接时,值始终采用更符合预期的格式(无 AM/PM)。

我的问题:
为什么我从同一版本的 SQL Server 获得两种不同的格式?这是某处的 OLE DB 驱动程序设置吗?

sql-server datetime
  • 1 个回答
  • 522 Views
Martin Hope
Richard
Asked: 2012-05-18 05:38:46 +0800 CST

SQL Server DATEDIFF:dayofyear 与 day 有何不同?

  • 3

当我查看 SQL Server 上的DATEDIFF()函数时,我发现它采用datepart作为其第一个参数。

可能的datepart值包括day和dayofyear。

我知道dayofyear是一年中的第几天(例如,2 月 2 日是 33),而day是一个月中的哪一天(所以 2 月 2 日是 2)。但是,我不明白 DATEDIFF 函数的区别。

这里有些例子:

select DATEDIFF(dayofyear, '2012-01-01', '2012-02-02')
returns: 32

select DATEDIFF(day, '2012-01-01', '2012-02-02')
returns: 32

select DATEDIFF(dayofyear, '2011-02-01', '2012-02-02')
returns: 366

select DATEDIFF(day, '2011-02-01', '2012-02-02')
returns 366

就 DATEDIFF() 而言,dayofyear和day是否等效?

sql-server t-sql
  • 1 个回答
  • 5037 Views
Martin Hope
Richard
Asked: 2011-11-29 14:48:18 +0800 CST

为什么 NULL 首先排序?

  • 20

为什么当我们在一列中有一个NULL值并且我们按值升序排序时,NULL首先排序?

select 1 as test
union all
select 2
union all
select NULL
union all
select 3
union all
select 4
order by test

结果是

NULL
1
2
3
4

我一直认为 NULL 意味着“不确定”或可能的“未知”。如果这是真的,他们不会排在最后吗,因为该值可能大于所有其他值?(或者这是某个地方的排序选项?)

我在 SQL Server 2008R2 上,但我怀疑这在所有 SQL Server 中都是如此,并且可能在所有 RDBMS 中都是如此。

sql-server database-theory
  • 4 个回答
  • 26948 Views
Martin Hope
Richard
Asked: 2011-08-27 17:35:39 +0800 CST

什么是“Oracle 上的 SAP”

  • 7

好的,总的新问题。

究竟什么是“SAP on Oracle”。 此链接讨论的是 SAP 如何在 Oracle 上运行(我认为)。

我不明白这是怎么回事。

我的理解:

  • SAP是一家提供ERP的公司

  • Oracle是一个数据库系统。

我以为他们是竞争对手!那么,SAP on Oracle是在Oracle上运行ERP系统吗?此处运行的是什么?在这种情况下,DBA 将支持什么?(或者这甚至是 DBA 的领地?)

我问是因为我申请了一份更喜欢“SAP”经验的工作,我在谷歌搜索中遇到了这个“Oracle 上的 SAP”。

oracle sap
  • 1 个回答
  • 340 Views
Martin Hope
Richard
Asked: 2011-08-24 06:25:24 +0800 CST

何时在 INT 上使用 TINYINT?

  • 94

一般来说,我总是使用整数。我知道理论上这不是最佳实践,因为您应该使用可以保证存储数据的最小数据类型。

例如,tinyint当您知道您将存储的唯一数据是 1、0 或 null(稍后将其扩展为 2 或 3 的可能性很小)时,最好使用它。

但是,我知道这样做的唯一原因是出于存储目的——在一行上使用 1 个字节而不是 4 个字节。

除了节省硬盘空间之外,使用tinyint(或smallint什bigint至)超过 just有什么影响?int

sql-server database-theory
  • 5 个回答
  • 62475 Views
Martin Hope
Richard
Asked: 2011-08-20 14:14:35 +0800 CST

是否有允许“= NULL”语法的 DBMS?

  • 2

受 StackOverflow 问题的启发(为什么 SQL 不支持“= null”而不是“is null”?)。

是否有实际支持该= NULL语法的 DBMS?

database-recommendation
  • 4 个回答
  • 600 Views
Martin Hope
Richard
Asked: 2011-08-20 04:36:09 +0800 CST

有哪些工具可以为 SQL Server 生成测试数据?

  • 14
锁定。这个问题及其答案被锁定,因为这个问题离题但具有历史意义。它目前不接受新的答案或交互。

从我的另一个问题可以看出,生成测试数据是我现在的主题。

此时,我仍在手动生成我的测试数据。但是,此过程总是会生成少量数据(通常是五行十行),因为它是手动过程。

是否有任何工具可以自动化此过程?特别是,我希望能够生成超过 100 万行。

sql-server testing
  • 4 个回答
  • 9466 Views
Martin Hope
Richard
Asked: 2011-08-19 04:30:43 +0800 CST

为测试数据生成大字符串

  • 13

我最近试图为这里的一个问题创建一些包含通用测试数据的大字符串。似乎我曾经知道一种将字符串相乘的方法。但是,我不再记得语法了。

我正在寻找类似的东西:

SELECT 'A' + ('a' * 1000) + 'ha!'

想出“啊啊啊啊啊啊啊啊!” (嗯,当然要长得多。)

这在 T-SQL 中可能吗?(或者我是否在考虑其他语言?)另外,还有其他技术可以生成大字符串吗?

sql-server t-sql
  • 1 个回答
  • 3229 Views
Martin Hope
Richard
Asked: 2011-08-10 11:50:20 +0800 CST

我可以通过更新分区键在分区之间移动行吗?

  • 18

我认为这将是一个相当简单的问题,但实际上我很难找到答案。

问题:您能否通过简单地更新分区列使其跨越分区边界来将分区表中的数据行从一个分区移动到另一个分区?

例如,如果我有一个具有分区键的表:

CREATE TABLE SampleTable
(
    SampleID INT PRIMARY KEY,
    SampleResults VARCHAR(100) NOT NULL,
)

使用映射到主键的分区函数:

CREATE PARTITION FUNCTION MyPartitionFunc (INT) AS
RANGE LEFT FOR VALUES (10000, 20000);

我可以通过将 SampleID 从 1 更改为(例如)500,000 将一行从第一个分区移动到第三个分区吗?

注意:我将其标记为 sql server 2005 和 2008,因为它们都支持分区。他们的处理方式不同吗?

sql-server sql-server-2008
  • 4 个回答
  • 11491 Views
Martin Hope
Richard
Asked: 2011-08-09 05:43:51 +0800 CST

使用单个 SQL 语句查找 HierarchyId 的所有祖先节点?

  • 7

我正在尝试找到一种方法来使用 HierarchyID 获取给定节点的所有祖先节点。我见过的每个使用 HierarchyID 的解决方案似乎都使​​用 CTE 或变量。有没有办法使用单个选择语句来做到这一点?

为了让事情更简单:

CREATE TABLE Employee
(
    EmpId INT PRIMARY KEY IDENTITY,
    EmpName VARCHAR(100) NOT NULL,
    Position HierarchyID NOT NULL
)

INSERT INTO Employee (EmpName, Position)
VALUES ('CEO', '/'),
    ('COO', '/1/'),
    ('CIO', '/2/'),
    ('CFO', '/3/'),
    ('VP Financing', '/3/1/'),
    ('Accounts Receivable', '/3/1/1/'),
    ('Accountant 1', '/3/1/1/1/'),
    ('Accountant 2', '/3/1/1/2/'),
    ('Accountant 3', '/3/1/1/3/'),
    ('Accounts Payable', '/3/1/2/'),
    ('Accountant 4', '/3/1/2/1/'),
    ('Accountant 5', '/3/1/2/2/'),
    ('DBA', '/2/1/'),
    ('VP of Operations', '/1/1/')
sql-server-2008 t-sql
  • 2 个回答
  • 10648 Views
Martin Hope
Richard
Asked: 2011-08-04 06:10:18 +0800 CST

COALESCE 与 ISNULL 的性能差异?

  • 59

我见过很多人使用 COALESCE 函数代替 ISNULL。从互联网搜索中,我发现 COALESCE 是 ANSI 标准,因此我们知道使用它时会发生什么是一个优势。然而, ISNULL 似乎更容易阅读,因为它似乎更清楚它在做什么。

我也意识到 ISNULL 有点棘手,因为它在不同的数据库服务器和不同的语言上表现不同。

在我看来,所有这些都归结为风格和标准。鉴于风格是主观的,是否有任何理由使用 COALESCE 而不是 ISNULL(反之亦然)?具体来说,一个比另一个有性能优势吗?

sql-server syntax
  • 3 个回答
  • 51676 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve