问题标签 [sql-convert]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - 如何将 DateTime 转换为 VarChar
我需要将变量中的值DateTime
转换为varchar
格式化为yyyy-mm-dd
格式的变量(没有时间部分)。
我怎么做?
sql - SQL Server 中的自定义日期/时间格式
我正在尝试编写一个存储过程,它从表中选择列并将 2 个额外的列添加到 ResultSet。这 2 个额外的列是对表中的字段进行转换的结果,该字段是日期时间字段。
日期时间格式字段具有以下格式 'YYYY-MM-DD HH:MM:SS.S'
应采用以下格式的 2 个附加字段:
- DDMMM
- HHMMT,其中 T 是上午的“A”和下午的“P”
示例:如果字段中的数据是“2008-10-12 13:19:12.0”,则提取的字段应包含:
- 12OCT
- 0119P
我曾尝试使用 CONVERT 字符串格式,但没有一种格式与我想要获得的输出匹配。我正在考虑通过 CONVERT 提取字段数据,然后使用 REPLACE,但我在这里肯定需要一些帮助,因为我不确定。
任何精通存储过程的人都可以在这里帮助我吗?谢谢!
sql-server - 将 varchar 转换为日期时间
为什么以下代码有效:
但这段代码没有:
注意:DateOfAction
是一个varchar
字段
有人可以解释一下并给出正确的代码吗?
sql - 按格式将 bigint 转换为 nvarchar
如何转换bigint
为nvarchar
使用以下方案:
1
转换为0001
123
转换为0123
sql - 如何防止将大数字转换为 varchar 示例 1444092 是 1.44409e+006
这是我的最后一个查询
但是大数字将某些东西转换为 1.44409e+006 并且当 indicador 包含单词 porcentaje 时,我需要计算并添加 char '%',它会转换但我得到了这个错误
使用 sql 2005
mysql - 将数据从 PostgreSQL 复制到 MySQL
我目前有一个 PostgreSQL 数据库,因为我们使用的软件之一只支持这个特定的数据库引擎。然后我有一个查询,它将应用程序中的数据汇总并拆分为更有用的格式。
在我的 MySQL 数据库中,我有一个表,其中包含与上述查询的输出相同的模式。
我想要开发的是一个每小时的cron
工作,它将对 PostgreSQL 数据库运行查询,然后将结果插入 MySQL 数据库。在一个小时内,我预计不会看到超过 10,000 行需要传输的新行(这是一个延伸)。
这两个数据库都位于不同的物理服务器上,大洲彼此分开。MySQL 实例在 Amazon RDS 上运行 - 因此我们对机器本身没有太多控制权。PostgreSQL 实例在我们其中一台服务器上的虚拟机上运行,让我们可以完全控制。
不幸的是,重复是必要的,因为 PostgreSQL 数据库仅充当信息的收集器,而 MySQL 数据库上运行着一个需要数据的应用程序。为简单起见,我们希望每小时从 PostgreSQL 中进行移动/合并和删除以保持干净。
需要明确的是 - 我是网络/系统管理员 - 不是 DBA。我并不真正了解将一种格式转换为另一种格式所需的所有复杂性。我所知道的是,正在传输的数据由 1x VARCHAR
、 1xDATETIME
和 6xBIGINT
列组成。
我对一种方法的最接近的猜测是使用某种脚本语言进行查询,将结果转换为内部数据结构,然后再次将其拆分回 MySQL。
这样做时,在编写脚本时我应该注意哪些特别好的或坏的做法?或者 - 我应该查看哪些可能对进行这种转换有用的文档?我发现许多调度作业看起来非常易于管理且记录良好,但该脚本的持续性质(每小时运行)似乎不太常见和/或记录较少。
接受任何建议。
sql-server-2008 - SQL Server 2008 - CONVERT vs DATE & DATETIME 列
我在很多表中都存储了一个修改日期字段。有时我需要将时间部分用于我的逻辑,有时我只需要日期部分。我想知道以下哪种情况更有效/最佳实践:
存储两列 - 一列是 DATE 类型,一是 DATETIME 类型 - 它们都代表时间上的相同实例,但其中 DATE 列显然只存储日期部分。当我只需要对日期进行比较时,我使用 DATE 列,而当我需要进行包含时间的比较时,我使用 DATETIME 列。
存储一列 DATETIME 类型的列,并在需要时使用 CONVERT(DATE, Date_Amended_Col) 检索日期部分。
每次使用 CONVERT 都会有很大的开销吗?我认为 DATE 部分可能是访问频率更高的部分,所以我觉得我会经常使用 CONVERT。
我想不出第二种方法有任何明显的缺点,除了在进行修改时需要更新两个字段而不是只更新一个字段,如果我觉得有必要,我总是可以使用触发器。
或者,还有更好的方法?使用计算列是否与每次使用 CONVERT 相同?
任何想法将不胜感激。
非常感谢,
铝
sql - 在 ELSE CASE SQL 查询上使用 Convert
我在 Postgres 中执行 SQL 查询,它选择一个数字字段。我需要显示一个字符串值作为这个 SELECT 的结果,所以我使用这样的CASE
语句:
问题是如果数字字段有任何其他值(300
例如),我需要显示这个值(当然作为字符串)。我试着CONVERT
像这样在 else 上放一个
但它没有用。我该怎么做呢?
sql-server - SQL 你如何让 udf 在错误时返回 null?
我在 SQL Server 2008 上运行。我正在选择列类型 varchar 并将每个值转换为 XML 类型。但是,varchar 值可能并不总是正确的 XML 格式。如果不是正确的 XML 格式,我需要打印出“ERROR”然后继续。问题是我不确定如何处理转换错误。尝试在我的选择周围使用 TRY-CATCH,但是当遇到错误时会停止选择。我已经求助于创建一个函数来检查从 varchar 到 XML 的转换是否有效,并且如果转换导致错误,则需要该函数返回 null。我该怎么做?
这是我要转换的数据的非常简化的版本
这就是我现在拥有的功能。如果转换失败,无法弄清楚如何调整它以返回 null
我想要的输出是
尝试使用 TRY-CONVERT 函数,但这是针对 sql server 2012 的。尝试在函数中使用 TRY-CATCH 语句,但在 UDF 函数中不能有 TRY-CATCH 语句。考虑过在过程中使用过程和 try-catch,但我并没有真正做任何更新或插入,所以在这种情况下,过程看起来并不是我应该使用的。不知道如何处理。
任何帮助都会很棒!谢谢!
sql - 如何解决将日期时间值传递给参数化查询错误
这是我的查询字符串
SELECT
Payment
,Balance
,PatientNo
FROM
[GP_DB].[dbo].[GP]
where GP.GPDate= (SELECT CONVERT(VARCHAR(24),@GPDate,103))
GPDate 是 Date 类型的列,而不是 DateTime
我像这样传递参数
但出现以下错误
从字符串转换日期和/或时间时转换失败。