Create function fun_getPY
(
@str nvarchar(4000)
)
returns nvarchar(4000)
as
begin
declare @word nchar(1),@PY nvarchar(4000)
set @PY=''
while len(@str)>0
begin
set @word=left(@str,1)
--如果非汉字字符,返回原字符
set @PY=@PY+(case when unicode(@word) between 19968 and 19968+20901
体现了SQL Server中的四个知识点:
1. 获取SQL Server服务器上的默认目录
2. 备份SQL语句的使用
3. 恢复SQL语句的使用,同时考虑了强制恢复时关闭其他用户进程的处理
4. 作业创建SQL语句的使用
/*1.--得到数据库的文件目录
@dbname 指定要取得目录的数据库名
如果指定的数据不存在,返回安装SQL时设置的默认数据目录
如果指定NULL,则返回默认的SQL备份目录名
----*/
当SQLServer设计表的时候没有建组合字段唯一约束,以后需要增加这一约束时,却发现表里已经有了很多重复记录了。
请看看我用的去掉SQLServer表里组合字段重复的记录方法:
假设原始表名为source_table,字段名1为field_name1,字段名2为field_name2。
(当然稍加修改也可以用到三个及以上组合字段重复的情况)
第一步: 生成组合字段重复的临时表source_dup_simple
select field_name1,field_name2,count(0) as num into source_dup_simple
from source_table
group by field_nam
SUBSTRING ( expression , start , length )
expression
是字符串、二进制字符串、text、image、列或包含列的表达式。不要使用包含聚合函数的表达式。
start
是一个整数,指定子串的开始位置。
阅读全文指定组或聚合的搜索条件。HAVING 只能与 SELECT 语句一起使用。通常在 GROUP BY 子句中使用它。如果不使用 GROUP BY 子句,HAVING 的行为与 WHERE 子句一样。
SELECT阅读全文
Sales.Customer.CustomerID,
Sales.SalesOrderHeader.SalesOrderID,
SUM(Sales.SalesOrderDetail.LineTotal) AS SubTotal
FROM
Sales.Customer
INNER JOIN