我有一个SQL查询来在SQLServer中创建数据库,如下所示:
create database yourdb
on
( name = 'yourdb_dat',
filename = 'c:\program files\microsoft sql server\mssql.1\mssql\data\yourdbdat.mdf',
size = 25mb,
maxsize = 1500mb,
filegrowth = 10mb )
log on
( name = 'yourdb_log',
filename = 'c:\program files\microsoft sql server\mssql.1\mssql\data\yourdblog.ldf',
size = 7mb,
maxsize = 375mb,
filegrowth = 10mb )
COLLATE SQL_Latin1_General_CP1_CI_AS;
go
Run Code Online (Sandbox Code Playgroud)
它运行正常.
虽然SQL的其余部分很清楚,但我对它的功能非常困惑COLLATE SQL_Latin1_General_CP1_CI_AS.
任何人都可以向我解释这个吗?另外,我想知道以这种方式创建数据库是否是最佳做法?
我有一个带有出生日期的sqlite表.我想执行一个查询来选择那些年龄超过30岁的记录.我尝试过以下但是它不起作用:
select * from mytable where dob > '1/Jan/1980'
select * from mytable where dob > '1980-01-01'
Run Code Online (Sandbox Code Playgroud) 有没有办法使用C#从纯文本中提取所有电子邮件地址.
例如
我的电子邮件地址是mrrame@gmail.com,他的电子邮件是mrgar@yahoo.com
应该回来
mrrame@gmail.com,mrgar @ yahoo.com
我尝试了以下内容,但它只匹配完美的电子邮件.
public const string MatchEmailPattern =
@"^(([\w-]+\.)+[\w-]+|([a-zA-Z]{1}|[\w-]{2,}))@"
+ @"((([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\."
+ @"([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])){1}|"
+ @"([a-zA-Z]+[\w-]+\.)+[a-zA-Z]{2,4})$";
public static bool IsEmail(string email)
{
if (email != null) return Regex.IsMatch(email, MatchEmailPattern);
else return false;
}
Run Code Online (Sandbox Code Playgroud) 这是我认为一个简单的问题,但还没有得到解决方案.我想从这里解释的列中获取有效数字.
假设我们有一个varchar列,其中包含以下值
ABC
Italy
Apple
234.62
2:234:43:22
France
6435.23
2
Lions
Run Code Online (Sandbox Code Playgroud)
这里的问题是只选择数字
select * from tbl where answer like '%[0-9]%' 会做到但它会回来
234.62
2:234:43:22
6435.23
2
Run Code Online (Sandbox Code Playgroud)
在这里,显然,2:234:43:22是不可取的,因为它不是有效数字.
期望的结果是
234.62
6435.23
2
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
我正在使用C#和Winforms.我正试图在纸卷上打印钞票.纸张的宽度为3英寸,但纸张的长度是动态的(它是卷纸).长度取决于列表中有多少项.例如,在购买时如果有100件商品售出那么它将是相当长的卷,而对于购买的单件商品它将是很小的长度.
当我打印报告时,在结束作业之后,打印机会弹出最后一页而不是我需要的页面.只要A4尺寸就可以弹出纸张.我想打印所需的行,然后停止打印.我使用的是一卷纸,而不是A4或A3和Epson LQ-300 + II打印机.
更具体地说,始终对页面大小的单元进行打印.如果我将页面设置为3英寸x 8英寸,那么我总是打印出8英寸长的打印输出.如果我要打印一张9英寸的钞票,我最终会打印出16英寸的纸张,浪费7英寸的纸张.如何打印最后一页只需要它就可以了?
这是代码:
private void printDoc_PrintPage(Object sender, PrintPageEventArgs e)
{
Font printFont = new Font("Courier New", 12);
int y = 15;
e.Graphics.DrawString("a Line", printFont, Brushes.Black, 0, y); y = y + 20;
e.Graphics.DrawString(" Line", printFont, Brushes.Black, 0, y); y = y + 25;
e.Graphics.DrawString(" Line", printFont, Brushes.Black, 0, y); y = y + 35;
e.Graphics.DrawString(" Line", printFont, Brushes.Black, 0, y); y = y + 45;
}
Run Code Online (Sandbox Code Playgroud) 我有一个临时表,我想在这个临时表上创建一个临时视图.
可能吗?
在下面的例子中,我希望#Top10Records成为一个视图,而不是一个表,以便我得到
select * into #Top10Records from (select top 10 * from #MytempTable)
Run Code Online (Sandbox Code Playgroud) 是否有人将算法或逻辑转换为1,B为2,...,Z为26,然后是AA到27,AB到28等.
换句话说,将列索引转换为Excel中的列引用.
我们可以使用sql找到msaccess中的所有表.
和我们在sqlserver中一样
select * from sys.tables
Run Code Online (Sandbox Code Playgroud)
在sqlite中
SELECT * FROM sqlite_master where type='table'
Run Code Online (Sandbox Code Playgroud) 我在datagridview中有数字的字符串列.它没有绑定,我想按照我使用的数字排序
colid.ValueType = typeof(int);
grid.Sort(colid, ListSortDirection.Descending);
Run Code Online (Sandbox Code Playgroud)
但是像字符串一样排序,例如:
11
12
23
7
80
81
Run Code Online (Sandbox Code Playgroud)
而预期的是
7
11
12
23
80
81
Run Code Online (Sandbox Code Playgroud) EmpID DeptID
1 1
1 2
2 1
3 2
4 5
5 2
1 1
2 1
Run Code Online (Sandbox Code Playgroud)
我想有一个约束来确保这对字段始终是唯一的,例如示例中显示的最后两个数据不应该插入到表中.在上表中请注意最后两行是重复,我想防止这样的数据发生.我如何在sqlserver 2005中实现这一点.谢谢