SqlServer 随记

一、 存储中使用事务,不能远程操作其他服务器数据库进行增删改操作
二、 自定义函数中不能使用GETDATE()和RAND()函数
方法:创建视图,进行视图调用
三、 sql server(2008)数据库bit类型问题
3.1、

  • 在企业管理器中以界面方式创建表,设置一字段为bit类型,手动直接输入1或0提示错误,必须输入true或false。
    在企业管理器中以界面方式创建表,设置一字段为bit类型,手动直接输入1或0提示错误,必须输入true或false。
  • 在sql server中,没有直接的boolean数据类型,取而代之的是bit类型。bit类型的有效值是1或0,这时就和上面的操作相矛盾。
  • 这是SSMS(SQL Server Management Studio)对数据类型校验引起的,在SSMS里边编辑表中记录时,SSMS先要校验一下输入是否有误,bit类型对应.net中的boolean类型,而boolean类型有效值是true、false、null,直接输入0、1肯定通不过校验的。而如果执行语句INSERT的话,不需要经过SSMS的数据类型校验,SQL Server会将0、1隐式转换为false和true,执行INSERT语句是能正常插入记录的,用INSERT语句向bit类型列插入数据的时候,大于0的值都会被隐式转换为true。
  • 当你直接打开表向这一列中插入数据是就需要插入true或false ,即表现值
  • 当你用sql语句插入数据的时候该列就插入0(false)或1(true),0,1即实际值,这里插入非0数据,自动转换为1 ,没有插入时默 认null 。
  • 当你在查询分析其中用select语句读取这个表中的这一列数据时该列数据显示的是0或1
  • 当你在C#等应用程序中调用sqlserver2008存储过程是返回的结果集中这一列的值是true或false
    四、 查看SqlServer的编码方式
SELECT  COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage') 

936 简体中文GBK
950 繁体中文BIG5
437 美国/加拿大英语
932 日文
949 韩文
866 俄文
65001 unicode UFT-8
五、 sql的 where in 排序问题
按照where条件进行排序显示

SELECT  Name,
CHARINDEX(','+Name,'A,B,C') AS ids,* FROM dbo.ABC WHERE Name IN('A','B','C')
ORDER BY ids

六、 将查询的结果进行拼接返回(for xml path(‘’))

  • SELECT ','+opName FROM dbo.TbName A WHERE fileA='A' FOR XML PATH('')
  • SELECT STUFF((SELECT ','+opName FROM dbo.TbName A WHERE a.fileA=b.fileA FOR XML PATH('')) ,1,1,'') FROM TbName B WHERE fileA='9916122241' GROUP BY b.fileA

七、 查找库中包含某字段的存储、包含某字段名称的表
1)查找包含字段的存储/函数

SELECT ROUTINE_NAME, ROUTINE_DEFINITION 
FROM INFORMATION_SCHEMA.ROUTINES 
WHERE ROUTINE_DEFINITION LIKE '%What%' 
--AND ROUTINE_TYPE='PROCEDURE' 
AND ROUTINE_TYPE='FUNCTION'

2)查找包含字段名称的表

SELECT OBJECT_NAME(ID) OBJNAME,NAME AS COLNAME
FROM SYSCOLUMNS
WHERE (NAME LIKE'%What%')
AND ID IN(SELECT ID FROM SYSOBJECTS WHERE XTYPE='U')
ORDER BY OBJNAME
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值