关于SQL SERVER 数据拆分
if object_id('tb') is not null drop table tb
go
create table tb([A] varchar(10),[B] int)
insert tb
select 'bcd',1 union all
select 'bcde',2 union all
select 'cd',3
go
个人分析这道题的思路是:
通过Substring() 来循环分割 B 列下的字符串。。
--想得到的结果:
/**
a b
---- -----------
b 1
c 1
d 1
b 2
c 2
d 2
e 2
c 3
d 3
(所影响的行数为 9 行)
**/
(1):select
substring(a.A,b.number,1) as a,a.b
from tb a,
master..spt_values b
where b.type='P' and b.number>0
and b.number<len(a.a)
/**
a b
---- -----------
b 1
c 1
d 1
b 2
c 2
d 2
e 2
c 3
d 3
(所影响的行数为 9 行)
**/
(2)
SELECT TOP 100 ID=IDENTITY(INT,1,1) INTO #NUM from SYS.SYSCOLUMNS A,SYS.SYSCOLUMNS B
SELECT
A.b,[VALUE]=SUBSTRING(A.a,B.ID,1)
from
#TB A,#NUM B
WHERE
b.id <=len(a.a)
/*
b VALUE
----------- -----
1 b
1 c
1 d
2 b
2 c
2 d
2 e
3 c
3 d
相关文档:
估计你是安装时出现的问题。
解决方法...
关于SQL安装被挂起的修复大家可能都遇到过当SQL被删除后需要重新安装时,进入安装界面就会出现SQL错误提示:
从前的安装程序操作使安装程序操作挂起,需要重新启动计算机
然而这些都是白费劲,不管你重新启动多少次也都无济于事,下面我就讲讲怎样能够解除安装或升级时文件被挂 ......
今天找到了取mysql表和字段注释的语句
取字段注释
SELECT COLUMN_NAME 列名, DATA_TYPE 字段类型, COLUMN_COMMENT 字段注释
from INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'companies'##表名
AND table_schema = 'testhuicard'##数据库名
AND column_name LIKE 'c_name'##字段名
--------------------------- ......
--创建一张表
create table stut
(
id int,
na varchar(20)
)
--插入4条数据。
insert into stut values(1,'aa')
insert into stut values(2,'bb')
insert into stut values(3,'df')
insert into stut values(4,'中国')
select * from stut
--根据'df,aa,中国,bb'来进行排序
select * from stut ......
触发器实际上就是一种特殊类型的存储过程,其特殊性表现在:它是在执行特定的T-SQL 自动相加的。
触发器分为两类:
&nbs ......
如果结果的长度大于服务器参数max_allowed_packet,字符串值函数返回NULL。见10.2.3 调节服务器参数。
对于针对字符串位置的操作,第一个位置被标记为1。
ASCII(str)
返回字符串str的最左面字符的ASCII代码值。如果str是空字符串,返回0。如果str是NULL,返回NULL。
mysql> select ASCII('2');
-> ......