我在Teradata。我有一个ID列,如下所示:
23
34
W7
007
021
90
GS8
我想将数字转换为数字,因此007应为7,而021为21.当一个数字存储为字符串时,我通常会column * 1
转换为数字但在这种情况下它会给我一个坏的字符错误,因为那里有字母。
如何在查询中的select语句中执行此操作?
答案 0 :(得分:1)
假设数值总是以数字开头,那么这样的东西应该起作用:
update t
set col = (case when substr(col, 1, 1) between '0' and '9'
then cast(cast(col as int) as varchar(255))
else col
end);
或者,您可以忘记转换并执行:
update t
set col = trim(leading '0' from col);
注意:这两个都假设如果第一个字符是数字,则整个字符串包含数字。第二个假设值不是全零(或者更具体地说,返回空字符串)。
答案 1 :(得分:0)
只需使用- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"DetailDisplay"])
{
DetailDisplayController *detailDisplayController = segue.destinationViewController;
...
detailDisplayController.completionBlock = ^(BOOL saved, NSString *sorter, NSUInteger recordCount)
{
if (saved)
...
,当转换失败时返回NULL。