- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
当我将数字数据简单地插入到 varchar 中时,我不太理解字段为什么它用 2 个空格左填充它。 varchar 不应该去掉空格(尾部没问题......但是你用空格“frontpad”的规则在哪里)。为什么然后用 2 个前导空格填充
INSERT INTO v VALUES ( ,1243444,3455435,8768810,'fdff',5,7,8,,)
在这里( ,1243444,3455435,8768810,'fdff',5,7,8,,)
是 (someirrelvant_datatype,varchar(x),varchar(y),varchar(z),char(5),smallint,int,int,Timestamp)
所以数据看起来像这样
SEL CHAR2HEXINT ( colA ) ,colA FROM v
313732353732 172572 /* this is some other pre-existing value*/
2020202033343535343335 3455435 /* this is value just inserted */
所以如果你看到上面的20202020
2 spaces aka ' '
的十六进制
第二题(不是上述情况的延续)
我也有像这样的 varchar (50) col 的数据
HMSA
232434343
HMSA
4343434343
434343434
这里是 HMSA
有尾随空格 2020 HEX
但其他值没有trailing spaces
.不确定发生了什么。现在这里不是varchar
应该扔掉所有尾随空格吗?数据如何登陆 HMSA<space>
没有把握 。有什么想法吗?
好吧,让我们看看由此产生的一些奇怪之处:<br/>
insert ( 'yada ') into tb /* tb is volatile & SET.There are 4 spaces */
insert ( 'yada') into tb
Query Failed. 2802: Duplicate row error in tb
好的,看看这是什么样子
7961646120202020 yada /*There are 4 spaces - 20 x 4 */
所以在第 2 次插入时,它摆脱了空间比较部分并做了一个 trim(oldvalue) vs trim ( new value )
最佳答案
Q1:当您运行 SELECT FORMAT(3455435), TYPE(3455435)
时,您会得到 -(10)9
INTEGER
每种数据类型总是有一个 Cobol 风格的格式,用于与字符串进行转换。在您的情况下,源和目标的数据类型不匹配,Teradata 进行了自动类型转换。整数的格式最多为十位数字加上一个前导符号右对齐。
使用标准 SQL CAST
的显式类型转换不应用格式,因此不应用前导空格。因此,只需执行 CAST(3455435 AS VARCHAR(20)
或 (TRIM(3455435)` 即可。
Q2:VarChar 会准确存储您插入的内容,即 '1234 '
将被存储,包括两个空格。并且基于标准 SQL 比较规则,在比较字符串时忽略尾随空格,因此 'yada'
和 'yada'
被认为是相等的(您可能之前使用过 Oracle在这种情况下 t 遵循标准 SQL)。
关于sql - Teradata SQL VARCHAR 和空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39216164/
Teradata 中是否有一个函数,可以通过将任意年份的日、月作为参数来“生成”日期?那么如果我有整数参数 p1_day、p2_month 和 p3_year (顺便说一句,它们是属性),是否有一个像
我试图搜索,但我没有找到任何东西。我正在尝试将两列添加到具有默认值 (Teradata) 的表中。我正在尝试这个声明 ALTER TABLE TEST add (DWH_Change_dt date
Teradata 中是否有一个函数可以通过给定任何年份的日、月作为参数来“制作”一个日期?所以,如果我有整数参数 p1_day、p2_month 和 p3_year(顺便说一下,它们是属性),是否有类
在我的 Teradata 表中,dhTimestamp 列下有纪元时间戳 dhTimestamp 1435308067705 1434965874565 1434763800794 14347
谁能解释 Teradata 中的查询带? 我已经对此进行了很多搜索,但无法获得我能理解的信息。 请详细一点。 谢谢!!! 最佳答案 TeraDATA 中的查询分段: Query Banding 提供了
Teradata 数据库中有特殊字符,我想删除它。 Example - special character: "aa€bb" (special charcter is "€" sign) Desir
GitHub 事件只是 empty last month , 至少 latest release 0.10.1 的下载链接(2019 年 3 月)无路可走 对于 VirtualBox images 同
我正在寻找一种方法来识别授予特定数据库中用户的默认权限。我已经尝试过: select * from dbc.allrights where username='user-id' and datab
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 5 年前。 Improve this ques
如何计算前 7 天的数据(前一周的周日至周六)。无论一周中的哪一天运行,它都应始终给出前一周的星期日至星期六。谢谢 最佳答案 您的 Teradata 版本是什么? TD14 支持 NEXT_DAY,它
我为参加马拉松比赛的人准备了下表 person start end mike 2-Jun-14 2-Jul-14 nike 3-Jul-14 9-Aug-14 m
我想报告特定 Teradata 数据库的各种统计数据,尤其是“可用空间”。表倾斜是否应该包括在计算中?例如,有人建议了以下查询: SELECT databasename , SUM(maxp
我正在编写一个查询以从数据转储中获取 SCD 2 类型的数据。 我的数据和代码如下: create table promotions ( start_date date, end_date date,
我在 Teradata 中有一张表。我想知道它的大小。对于 Teradata 中的数据库,同样的事情可能会很有趣。 我该怎么做? 最佳答案 要检查您的 table 大小,您可以从 dbc.tables
我正在寻找类似于 ISNUMERIC() 的函数来自 T-SQL 和 Teradata SQL。如果字符类型字段中包含的数据都是数字,我想要一个简单的方法来返回一个 bool 值(或数字 1/0)。
我有下表 CREATE SET TABLE myTab,FALLBACK,NO BEFORE JOURNAL,NO AFTER JOURNAL,CHECKSUM = DEFAULT,DEFAULT M
是否可以将 Teradata 表中的日期直接传输到 .csv 文件中。问题是 - 我的表有超过 1800 万行。如果是,请发送告诉我过程 最佳答案 对于这样大小的表,我建议使用 FastExport
请帮助指导如何在 Teradata 中删除数据库。 当我运行命令DROP DATABASE database_name时,我收到错误消息: *** Failure 3552 Cannot DROP d
teradata中是否有相当于oracle的Listagg函数的函数。递归是我尝试过的一个选项,但想要其他的东西。 谢谢阿里特拉 最佳答案 如果安装了 Teradata 的 XML 服务(从 14.1
我在Teradata 14 中有下表,不允许我自己编写过程和函数,但我可以使用strtok、strtok_split_to_table 等等 id property 1 1234X (Yel),
我是一名优秀的程序员,十分优秀!