小编a_h*_*ame的帖子

SQL LIKE子句的特殊字符列表

什么是SQL的所有特殊字符的完整列表(我对SQL Server感兴趣,但其他的也很好)LIKE子句?

例如

SELECT Name FROM Person WHERE Name LIKE '%Jon%'
Run Code Online (Sandbox Code Playgroud)

SQL Server:

  1. %
  2. _
  3. [说明符]例如[az]
  4. [^符]
  5. ESCAPE子句例如%30!%%'ESCAPE'!' 将评估30%为真
  6. '人物需要逃脱'例如他们变得他们'

MySQL的:

  1. % - 任何零个或多个字符的字符串.
  2. _ - 任何单个字符
  3. ESCAPE子句例如%30!%%'ESCAPE'!' 将评估30%为真

甲骨文:

  1. % - 任何零个或多个字符的字符串.
  2. _ - 任何单个字符
  3. ESCAPE子句例如%30!%%'ESCAPE'!' 将评估30%为真

SYBASE

  1. %
  2. _
  3. [说明符]例如[az]
  4. [^符]

进展:

  1. % - 任何零个或多个字符的字符串.
  2. _ - 任何单个字符

    参考指南 [PDF]

PostgreSQL的:

  1. % - 任何零个或多个字符的字符串.
  2. _ - 任何单个字符
  3. ESCAPE子句例如%30!%%'ESCAPE'!' 将评估30%为真

ANSI SQL92:

  1. %
  2. _
  3. 仅在指定时才使用ESCAPE字符.

PostgreSQL还有SIMILAR TO运算符,它添加了以下内容:

  1. [specifier]
  2. [^specifier]
  3. | - 两种选择中的任何一种
  4. * - 重复前一项零次或多次. …

sql special-characters sql-like

117
推荐指数
3
解决办法
25万
查看次数

PostgreSQL:哪种数据类型应该用于货币?

好像Money类型如所描述的不鼓励这里

我的应用程序需要存储货币,我应该使用哪种数据类型?数字,金钱还是FLOAT?

sql postgresql database-design

110
推荐指数
6
解决办法
7万
查看次数

如何在sql server中使用group_concat进行查询

我知道在sql server中我们不能使用Group_concat函数但是这里有一个问题,我需要Group_Concat我的查询.我谷歌它发现了一些逻辑,但无法纠正它.我的SQL查询是

select  m.maskid,m.maskname,m.schoolid,s.schoolname,
md.maskdetail
from tblmask m join school s on s.id = m.schoolid 
join maskdetails md on m.maskid = md.maskid
order by m.maskname ;
Run Code Online (Sandbox Code Playgroud)

它给我的结果如

在此输入图像描述

只看前三行在那个maskid,maskname,schoolid,schoolname是相同的但是maskdetail是不同的,所以想要一行,其中最后一列可以包含所有maskdetails,如maskid等等.

我希望我的输出像

在此输入图像描述

等等.请在查询时帮助我.

提前致谢.

sql-server string-aggregation sql-server-group-concat

104
推荐指数
4
解决办法
18万
查看次数

我什么时候需要在SQL Server中使用Begin/End Blocks和Go关键字?

有人能告诉我在SQL Server中何时何地需要使用beginend阻止?
此外,该Go关键字到底是做什么的?

t-sql sql-server language-features

99
推荐指数
5
解决办法
11万
查看次数

我可以屏蔽bat文件中的输入文本

我正在编写一个批处理文件来执行其他一些程序.在这种情况下,我需要提示输入密码.我有办法屏蔽输入文本吗?我不需要打印*******字符而不是输入字符.Linux的密码提示行为(在打字时不打印)就足够了.

@echo off
SET /P variable=Password : 
echo %variable%
Pause
Run Code Online (Sandbox Code Playgroud)

这将读取输入,但我不能使用这种方法掩盖文本.

cmd batch-file command-prompt

95
推荐指数
9
解决办法
19万
查看次数

删除PostgreSQL中的重复记录

我在PostgreSQL 8.3.8数据库中有一个表,它没有键/约束,并且有多行具有完全相同的值.

我想删除所有重复项,每行只保留1份.

特别是有一列(称为"密钥")可用于识别重复(即每个不同的"密钥"应该只存在一个条目).

我怎样才能做到这一点?(理想情况下使用单个SQL命令)在这种情况下,速度不是问题(只有几行).

sql postgresql duplicates

94
推荐指数
8
解决办法
6万
查看次数

Postgresql没有以"createdb"作为超级用户创建数据库,但没有输出错误

我正在使用'postgres'超级用户进行全新的postgresql安装.登录通过:

sudo -u postgres psql


postgres=# createdb database
postgres-# \list
                                  List of databases
   Name    |  Owner   | Encoding |  Collation  |    Ctype    |   Access privileges   
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | en_GB.UTF-8 | en_GB.UTF-8 | 
 template0 | postgres | UTF8     | en_GB.UTF-8 | en_GB.UTF-8 | =c/postgres
                                                             : postgres=CTc/postgres
 template1 | postgres | UTF8     | en_GB.UTF-8 | en_GB.UTF-8 | =c/postgres
                                                             : postgres=CTc/postgres
Run Code Online (Sandbox Code Playgroud)

没有错误,但没有创建表.有任何想法吗?

postgresql psql

88
推荐指数
5
解决办法
5万
查看次数

JDBC连接失败,错误:与主机的TCP/IP连接失败

我想将Java类文件与SQL Server 2012连接.我已经使用SQL Server身份验证登录.但我收到连接错误.

错误:与主机127.0.0.1,端口1433的TCP/IP连接失败.错误:"连接被拒绝:连接.验证连接属性.确保主机上正在运行SQL Server实例并接受端口上的TCP/IP连接.确保防火墙不阻止与端口的TCP连接".

我的代码---

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");  //1. Register your driver
//2. get the connection object
//Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost;databaseName=aysha","sa","admin");
Connection con = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1;databaseName=aysha","user=sa","password=admin");
 //"jdbc:sqlserver://127.0.0.1:1433; Instance=SQL2008;" +       "databaseName=MB;user=sa;password=123;";
//Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=aysha","sa" , "password");
//3. Prepare a statement
Statement stmt = con.createStatement();
//4. Write the query`
String sql = "Select * from employee";
//5. Execute the statement and 
ResultSet rs = stmt.executeQuery(sql);
//6. Process the result set

while (rs.next())
{
    System.out.println(rs.getInt(1));
}
Run Code Online (Sandbox Code Playgroud)

java sql-server jdbc

76
推荐指数
6
解决办法
23万
查看次数

SQL - 将varchar数据类型转换为日期时间数据类型会导致超出范围的值

运行SQL到我的数据类型值从转换的时候,我一直得到以下错误varchardatetime.

消息242,级别16,状态3,行1将varchar数据类型转换为日期时间数据类型导致超出范围的值.

我已经检查了数据并且看不到任何奇怪的东西:执行以下检查并且所有返回都没有结果

SELECT [Date] from table where [DATe] is null
SELECT [Date] from table where [DATe] = ''
SELECT [Date] from table where LEN([date])> 10
SELECT [Date] from table where LEN([date])< 10
SELECT top 100 [Date] , SUBSTRING([date],4,2) from [table where convert(int, SUBSTRING([date],4,2)) < 1 or convert(int, SUBSTRING([date],4,2)) > 12
SELECT top 100 [Date] , SUBSTRING([date],1,2) from table where convert(int, SUBSTRING([date],4,2)) < 1 or convert(int, SUBSTRING([date],4,2)) > 31
Run Code Online (Sandbox Code Playgroud)

还有什么值得关注的东西,可能值得指点或帮助解决这个问题吗?似乎无法深究它.

t-sql sql-server datetime

76
推荐指数
6
解决办法
50万
查看次数

SQL:如何获取我刚刚插入的值的id?

我在表格中插入了一些值.有一列其值是自动生成的.在我的代码的下一个语句中,我想要检索此值.

你能告诉我怎么做正确的方法吗?

sql-server

75
推荐指数
7
解决办法
11万
查看次数