1、sql查询语句时怎么把几个字段拼接成一个字段这几个字段是整型的。

1、sql查询语句时怎么把几个字段拼接成一个字段这几个字段是整型的。,第1张

1、语句如下:

select 字段A, 字段B, 字段A + 字段B as 字段C  From 表1

注:字段A加上字段B的计算列命名为字段C

2、计算列

计算列由可以使用同一表中的其他列的表达式计算得来。表达式可以是非计算列的列名、常量、函数,也可以是用一个或多个运算符连接的上述元素的任意组合。表达式不能为子查询。

原题的答案就是“计算列”。

扩展资料:

计算列应用范围

计算列可用于选择列表、WHERE 子句、ORDER BY 子句或任何可使用正则表达式的其他位置,但下列情况除外:

用作 CHECK、FOREIGN KEY 或 NOT NULL 约束的计算列必须标记为 PERSISTED。如果计算列的值由具有确定性的表达式定义,并且索引列中允许使用计算结果的数据类型,则可将该列用作索引中的键列,或者用作 PRIMARY KEY 或 UNIQUE 约束的一部分。

例如,如果表中含有整数列 a 和 b,则可以对计算列 a + b 创建索引,但不能对计算列 a + DATEPART(dd, GETDATE()) 创建索引,因为在后续调用中,其值可能发生改变。

计算列不能作为 INSERT 或 UPDATE 语句的目标。

数据库引擎基于使用的表达式自动确定计算列的为 Null 性。即使只有非空列,大多数表达式的结果也“认为”可为空值,因为下溢或溢出生成的结果也可能为空。使用带 AllowsNull 属性的 COLUMNPROPERTY 函数可查明表中任何计算列的为 Null 性。

通过指定 ISNULL (check_expression, constant) 可以将可为空值的表达式转换为不可为空值的表达式,其中, constant 是可替换所有空结果的非空值。

参考资料:

百度百科计算列

SQL> create database link lnkrac connect to system identified by oracle using 'testrac';

Database link created

SQL> select count() from dba_objects@lnkrac;

COUNT()

----------

87031

SQL> set timing on

SQL> select utl_rawcast_to_varchar2(utl_rawcast_to_raw(object_name)) obj_name from dba_objects@lnkrac where rownum<=3;

OBJ_NAME

--------------------------------------------------------------------------------

ICOL$

I_USER1

CON$

Elapsed: 00:00:0001

SQL> select utl_rawcast_to_varchar2(utl_rawcast_to_raw@lnkrac(object_name)) obj_name from dba_objects@lnkrac where rownum<=3;

OBJ_NAME

--------------------------------------------------------------------------------

ICOL$

I_USER1

CON$

Elapsed: 00:00:0002

SQL>

两种方式好像都可以,貌似第二种略慢 试试前面一种吧

几乎一样,但是convert比cast多了个style

可以让转换结果变成指定的显示样式

以下是网上找到的参考资料

sql中的cast

和convert都是用来将一种数据类型的表达式转换为另一种数据类型的表达式。cast

convert

提供相似的功能,只是语法不同。在时间转化中一般用到convert,因为它比cast多加了一个style,可以转化成不同时间的格式。

一、语法:

1、使用

cast

cast

(

expression

as

data_type

)

2、使用

convert

convert

(data_type[(length)],

expression

[,

style])

3、参数说明

expression

是任何有效的表达式。

data_type:

目标系统所提供的数据类型,包括

bigint

sql_variant。不能使用用户定义的数据类型。

length

nchar、nvarchar、char、varchar、binary

varbinary

数据类型的可选参数。

style

日期格式样式,借以将

datetime

smalldatetime

数据转换为字符数据(nchar、nvarchar、char、varchar、nchar

nvarchar

数据类型);或者字符串格式样式,借以将

float、real、money

smallmoney

数据转换为字符数据(nchar、nvarchar、char、varchar、nchar

nvarchar

数据类型)。

二、cast和convert的代码示例

sql

代码

复制

select

cast('123'

as

int)

--

123

select

convert(int,

'123')

--

123

select

cast(1234

as

int)

--

123

select

convert(int,

1234)

--

123

select

cast('1234'

as

int)

select

convert(int,

'1234')

--

conversion

failed

when

converting

the

varchar

value

'1234'

to

data

type

int

select

cast('1234'

as

decimal)

--

123

select

convert(decimal,

'1234')

--

123

select

cast('1234'

as

decimal(9,2))

--

12340

select

convert(decimal(9,2),

'1234')

--

12340

declare

@num

money

set

@num

=

123456

select

convert(varchar(20),

@num,

0)

--

123456

select

convert(varchar(20),

@num,

1)

--

1,23456

select

convert(varchar(20),

@num,

2)

--

12345600

三、convert函数的style参数说明

1、date

time

样式

不带世纪数位

(yy)

带世纪数位

(yyyy)

输入/输出

-

0

100

mon

dd

yyyy

hh:miam(或

pm)

1

101

1

=

mm/dd/yy

101

=

mm/dd/yyyy

2

102

2

=

yymmdd

102

=

yyyymmdd

3

103

3

=

dd/mm/yy

103

=

dd/mm/yyyy

4

104

4

=

ddmmyy

104

=

ddmmyyyy

5

105

5

=

dd-mm-yy

105

=

dd-mm-yyyy

6

106

6

=

dd

mon

yy

106

=

dd

mon

yyyy

7

107

7

=

mon

dd,

yy

107

=

mon

dd,

yyyy

8

108

hh:mi:ss

-

9

109

mon

dd

yyyy

hh:mi:ss:mmmam(或

pm)

10

110

10

=

mm-dd-yy

110

=

mm-dd-yyyy

11

111

11

=

yy/mm/dd

111

=

yyyy/mm/dd

12

112

12

=

yymmdd

112

=

yyyymmdd

-

13

113

dd

mon

yyyy

hh:mi:ss:mmm(24h)

14

114

dd

mon

yyyy

hh:mi:ss:mmm(24h)

-

20

120

yyyy-mm-dd

hh:mi:ss(24h)

-

21

121

yyyy-mm-dd

hh:mi:ssmmm(24h)

-

126

yyyy-mm-ddthh:mi:ssmmm(无空格)

-

127

yyyy-mm-ddthh:mi:ssmmmz(无空格)

-

130

dd

mon

yyyy

hh:mi:ss:mmmam

-

131

dd/mm/yyyy

hh:mi:ss:mmmam

2、float

real

样式

输出

0(默认值)

最多包含

6

位。

根据需要使用科学记数法。

1

始终为

8

位值。

始终使用科学记数法。

2

始终为

16

位值。

始终使用科学记数法。

3、money

smallmoney

样式

输出

0

小数点左侧每三位数字之间不以逗号分隔,小数点右侧取两位数,例如

423598。

1

小数点左侧每三位数字之间以逗号分隔,小数点右侧取两位数,例如

3,51092。

2

小数点左侧每三位数字之间以逗号分隔,小数点右侧取两位数,例如

3,51092。

126

转换为

char(n)

varchar(n)

时,等同于样式

2

以上就是关于1、sql查询语句时怎么把几个字段拼接成一个字段这几个字段是整型的。全部的内容,包括:1、sql查询语句时怎么把几个字段拼接成一个字段这几个字段是整型的。、oracle中cast_to_raw和cast_to_varchar2字符转换,结果必须保存在中间表里面吗、SQL SERVER中强制类型转换cast和convert的区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9519372.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存