|登录 |注册

查看: 1691|回复: 6
打印 上一主题 下一主题

自動生成的號碼 加開頭 字母 SQL 搞定

[复制链接]
goodday
2010-5-6 11:09 PM
記得有人問過

P001
P002
P003

EST001
EST002
EST003

自動生成的號碼  加開頭 字母 SQL 搞定
  1. select 'p'+ convert(nvarchar,ProductIDN) as ss from Products
复制代码
mssql 罷了 mysql 我沒試過
goodday
2010-5-7 12:05 AM
去字
SELECT (substring(PurchaseOrderCode,4,10))   
  FROM [tblPurchase]

PO0001 變 0001

nvarchar = 2 byte

呵呵
Super-Tomato
2010-5-7 12:17 AM
本帖最后由 Super-Tomato 于 2010-5-7 12:20 AM 编辑
記得有人問過

P001
P002
P003

EST001
EST002
EST003

自動生成的號碼  加開頭 字母 SQL 搞定
  1. select 'p'+ convert(nvarchar,ProductIDN) as ss from Products
复制代码
复制代码
mssql 罷了 mysql 我沒試過
goodday 发表于 2010-5-6 11:09 PM


mysql 则是

  1. SELECT CONCAT('p', LPAD(ProductIDN, 3, '0')) AS ss FROM Products
复制代码




去字
SELECT (substring(PurchaseOrderCode,4,10))   
  FROM [tblPurchase]

PO0001 變 0001

nvar ...
goodday 发表于 2010-5-7 12:05 AM


mysql (用 RIGHT 簡單些)

SELECT RIGHT(PurchaseOrderCode,4) FROM [tblPurchase]
goodday
2010-5-8 08:24 PM
番茄 mysql 好像容易很多
Super-Tomato
2010-5-8 10:17 PM
本帖最后由 Super-Tomato 于 2010-5-8 10:25 PM 编辑
番茄 mysql 好像容易很多
goodday 发表于 2010-5-8 08:24 PM


會嗎?? 我感覺上差不多, 只是 MSSQL 要把數字轉換為文字這個步驟方式不一樣

不過 MSSQL 應該是有這樣的做法吧

CREATE TABLE test(
    ID    INT    IDENTITY(1,1)    PRIMARY KEY,
    PID   AS 'P' + RIGHT('000' + CAST(ID AS VARCHAR), 3)
)
fyhao
2010-5-12 07:12 PM
用Function就能搞定了,真没想过。。。
宅男-兜着走
2010-5-12 11:20 PM
如果是Linq 的话要怎样?
还是 String Fomat 就收工了?
您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2026-1-1 10:35 AM , Processed in 0.108538 second(s), 26 queries .

Powered by Discuz! X2.5 © 2001-2012 Comsenz Inc.

本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved

Dedicated Server powered by iCore Technology Sdn. Bhd.

合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部