扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
"不等于"
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、网络空间、营销软件、网站建设、鄂托克前网站维护、网站推广。
{} 不知道
[] sqlserver里表名,用户名什么的都用这个括起来
() 就是你知道的()
| 一个竖线不知道,两根||是个连接符
oracle 的话
select A.a字段,A.b字段,t.b字段
from A,left join (
select B.a,wm_comcat(B.b字段)
from B
) t on t.a= A.a字段
这是一个逻辑运算符or,是一个双目运算符,左右两边若有一个为真,则结果为真。
可以理解为字符串连接符,类似于java中的“+”的功能;
以你给出的语句来看,输出结果应该是 表头为“FPZLMC”,值为FPZL_DM+"|"+FPZLMC;
好像是标准SQL吧,就这么写啊。不过大表可不能这么做哦,太占资源了。
补充:
Oracle里面有“+”的,不过我怀疑你是不是要拼两个字符串。正统数据库,包括Oracle和DB2拼接字符串都是采用双竖线“||”,加号只能用于使两个整型或者浮点型数值相加。
这需要看你的相关字段的类型的。如果是数值型,需要首先转换为字符型,再合并,例如:
select * from a where to_char(col001)||to_char(col002) not in (select to_char(col001)||to_char(col002) from b)
如果是字符型,可以直接合并:
select * from a where col001||col002 not in (select col001||col002 from b)
如果是Date型,同样转换为字符,具体查手册。
但是你这种写法,怎么说呢,不太好把,首先这并不是严格按照你所描述的逻辑,举例来说,如果表a字段是:"12","3",表b是:"1","23"那又会怎样?另外,not in总是执行全表扫描,效率不高,这样写会好一些:
select a.* from a left join b on (a.col001 = b.col001 and a.col002 = b.col002) where b.col002 is null
是的,那个id和password对应的就是数据库安全中的用户名和密码,后面的.\SQLEXPRESS是.\表示本机数据库下的实例名,写成机器名\SQLEXPRESS或者localhost\SQLEXPRESS或者(local)\SQLEXPRESS应该也是可以的
|DataDirectory|\是固定的一个宏,在.net下它一般是指应该程序所在目录下的app_data文件夹,含义如下
connectionString="…… data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|data.mdf;User Instance=true"
这里有一个DataDirectory的宏,他表示什么意义呢?
DataDirectory 是表示数据库路径的替换字符串。由于无需对完整路径进行硬编码,DataDirectory 简化了项目的共享和应用程序的部署。例如,无需使用以下连接字符串:
"Data Source= c:\program files\MyApp\app_data\Mydb.mdf"
通过使用 |DataDirectory|(包含在如下所示的竖线中),即可具有以下连接字符串:
"Data Source = |DataDirectory|\Mydb.mdf"
这里的一篇文章Working with local databases详细的解释了DataDirectory 的意义,不仅仅是Sql server 2005 express中使用,也可以在其他的文件数据库中使用,例如Sqllite数据库文件的连接字符串:
add name="DefaultDB"
connectionString="DriverClass=NHibernate.Driver.SQLite20Driver;Dialect=NHibernate.Dialect.SQLiteDialect;Data Source=|DataDirectory|\data.db3" /
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流